背景:
一直使用java进行服务器开发,感受到了生态的稳定和强大,但是很多公司转go,实际我的感觉和开发体验go抽象能力和数据结构等基础差一点。
但是go是更加轻量级,而且很多都是从0撸代码,这个其实也是不错。
go的轻量级让它部署更方便,适合微服务架构。 java部署臃肿一点,更多是单进程多线程架构。go则是: 按照模块划分后,每个模块一个服务,更加符合模块堆积,而且大型服务,肯定是多个微服务一起提供服务,分布式架构还是需要了解的,所以决定了解下go微服务架构,做点实战,也算向传统互联网架构贴近一点吧。
而且最近公司的SLG项目也是采用的微服务架构,做了模块的拆分,仔细一看,和go的代码组织其实是一样的,毕竟面临的问题是一样的。
1.web网关
Gate // http请求
2.前端连接管理服务器
Connector // 管理客户端连接
3.业务服务
User // 账号服务
Hall // 大厅服务
Game // 游戏服务器
4.Core
网络通信
Session管理
工具支持