性能:很多游戏服务器,都会使用异步非阻塞的方式来编程 。因为异步非阻塞可以很好的提高服务器的吞吐量,而且可以很明确的控制多个用户任务并发下的代码执行顺序,从而避免多线程锁之类的复杂问题 。所以这个框架我也希望是以异步非阻塞作为基本的并发模型 。这样做还有另外一个好处,就是可以手工的控制具体的进程,充分利用多核 CPU 服务器的性能 。当然异步代码可读性因为大量的回调函数,会变得很难阅读,幸好我们还可以用“协程”来改善这个问题 。 扩展性:支持服务器之间的通信,进程状态管理,类似 SOA 的集群管理 。自动容灾和自动扩容,其实关键点是服务进程的状态同步和管理 。我希望一个通用的底层,可以把所有的服务器间调用,都通过一个统一的集权管理模型管理起来,这样就可以不再每个项目去关心集群间通信、寻址等问题 。一旦需求明确下来,基本的层级结构也可以设计了:

文章插图
最后,整体的架构模块类似:

文章插图
通信模块
对于通信模块来说,需要有灵活的可替换协议的能力,就必须按一定的层次进行进一步的划分 。对于游戏来说,最底层的通信协议,一般会使用 TCP 和 UDP 这两种,在服务器之间,也会使用消息队列中间件一类通信软件 。框架必须要有能同事支持这几通信协议的能力 。故此设计了一个层次为:
推荐阅读
-
巴塞罗那■一梦10年!曝巴萨乐意卖掉苏牙缓解压力,时代顶级中锋要养老了
-
寒冷冬季如何让孩子少生病 专家:少带孩子去密集之地
-
肝癌|5岁女儿被查出肝癌晚期,医生说出孩子病因后,全家人怒打保姆
-
喜欢在微博 朋友圈等社交公共平台发状态是啥心理 ?
-
16岁自闭症男孩写宋体字,字体让现代人膜拜,远胜许多现代书法家
-
-
3C论坛|三大运营商看似积极,内心却有苦说不出,5G网络必须面对的问题
-
全省|1至8月湖北农产品出口破百亿元 同比增长37.8%
-
-
抖森被曝已与小3岁女星同居@39岁抖森被曝已与小3岁女星同居
-
Tony李广连|柯尼卡美能达推出两款黑白多功能复合机
-
-
-
我说今史|北伐大业必成!,诸葛亮生前最后悔杀一人!诸葛亮:他若不死
-
吴前|惊魂时刻,37+12男篮第一后卫伤退!9个人围在身边,杜锋更加担忧
-
手游|《王者荣耀》IP新游来了:终于冲出了王者峡谷 画风像《原神》
-
-
google+细节上败笔着实多的可怕,秉承了Google一贯粗枝大叶的做法
-
-