- 2010-2013
- 封装IOCP
- 内存池
- 使用CEGUI开发PC客户端UI
- 初识分布式
- CS网络交互
- 单例、reactor、表驱动等设计模式
- STL、模板
- 初识C#
- 初始多线程
- 版本管理
- 代码调试
- xml
- 文件读写、配置解析
- 应用日志
- sql
夯实C++基础,采用一些设计模式来更通顺的组织代码,以及会利用一些C++奇技淫巧来缩减代码,理解代码重构的意义。理解怎样用socket建立TCP连接来进行CS交互,以及通信中结构体的序列化和反序列化。对多线程安全有了初步的认知,了解互斥体、信号量和原子操作在多线程环境下怎样解决数据竞争。理解分布式架构下的数据同步、数据落地。熟悉游戏开发的总体流程。认识C#。
- 2013-2016
- C#网络通信
- Redis
- cocos2d-x、Unity
- Java/JNI交互
- 第三方SDK的接入
- JSON
- 接触github(socket4net/pi)
- 阿里云
- protobuf
- node.js
- lua
- python
更透彻的认识C#,对拥有虚拟机的语言(如Java、C#)和C/C++这种native语言之间的特性有了进一步的认知。用Redis做数据库,认识到了中间件的重要性和在架构中带来的便捷。对移动端客户端开发有了较深入的了解。了解了第三方SDK接入流程。对消息的序列化有了进一步的认识:JSON、protobuf。通过用Python制作工具,体会到脚本在项目开发中所带来的便捷。将服务器部署到阿里云,初步接触到laas的概念。
- 2016-2018
- libuv
- mom/gomsg/netmsg
- Golang
- Http
- Mysql
- ZeroMQ
接触libuv、zeromq,并在此基础上封装mom。初识golang,意识到golang在网络服务器开发中的犀利。初次采用HTTP来暴露接口。
- 2018至今
- Docker/VM
- Linux
- 微服务
- RestfulAPI
- Nginx
- Git/Gitlab CI
- grpc/thrift
- kafka
- kubenets
- 一致性哈希
- Raft
- ETCD、分布式数据一致性
- rbtree、quick sort、hash map
- 内存空间
- 无状态服务
- ELK
- open-falcon/zabbix
接触并熟悉Linux。使用git,以及利用gitlab进行自动化集成。学习并熟悉Docker,体会到容器化所带来的革命。使用nginx做API网关和负载均衡。进一步学习基础数据结构和算法。进一步学习操作系统基础知识。接触微服务,尝试用微服务架构来解决项目架构中的问题。利用无状态化服务器来做横向扩容。使用falcon进行服务监控。
有疑问加站长微信联系(非本文作者)