本系列文章主要描述如何实战架构一个高可用的云原生游戏微服务架构
采用golang作为主要开发语言,grpc(同步)/nats(异步)作为服务间通信机制,
k8s作为容器化部署工具,以及各种云原生工具来实现自动化部署和监控。
教程源码可以参见:moke-game
主要适用各种游戏类型的架构,包括MMO,MOBA,FPS等房间制的游戏
- 规范开发流程
- 服务的拆分
- 战斗/大世界服务实现
- 服务安全:服务间的mTLS认证、基于token的用户权限认证
- 服务间的通信: grpc(同步)、nats(异步)
- 数据库的一致性保证:基于version的CAS乐观锁
- 容器化+CI/CD自动化
- k8s集群管理和监控
- 服务的压力测试