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

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

文章插图
通信模块
对于通信模块来说,需要有灵活的可替换协议的能力,就必须按一定的层次进行进一步的划分 。对于游戏来说,最底层的通信协议,一般会使用 TCP 和 UDP 这两种,在服务器之间,也会使用消息队列中间件一类通信软件 。框架必须要有能同事支持这几通信协议的能力 。故此设计了一个层次为:
推荐阅读
-
-
人民日报|应用情况如何?,电子社保卡问世两年多来签发超两亿张
-
-
安倍晋三|20年工薪生涯,履历单薄,安倍胞弟为何成为日本新任防卫大臣
-
-
鲜闻联播|是真的惹不起,每日一笑:看来以后也不能接小学生的单子了
-
moresure蓝牙耳机也有好音质,格莱美大师调音的Soundcore Liberty 2 Pro表现太棒了
-
美国|中国大使馆发布重要通知,9月15日起,在美国开展行动,信号强烈
-
1公里等于多少米-等于多少千米- 1公里等于多少米走路要多久
-
科技速递|厉害何止华为!中国又一科技巨头崛起,连美国也拿它没办法?
-
-
探测器|探测器下潜10926米,眼前一幕让人后怕,专家:人类要警惕了
-
-
时尚星风潮|为了皇位杀死自己所有的嫡子,简直疯狂,史上最像穿越者的皇帝
-
莉史酱|扭转了第二次世界大战中国战场局,发起“天炉战法”歼敌5.6万
-
与前任分手后,在一段新恋情中你仍然会感到难过的5个原因
-
国际足球秘闻|两大法国天王纪录被超越,吉鲁格列兹曼创造新历史,一夜之间
-
-
【LIFECARE心健康】先天性心脏病与疫苗预防接种
-
988防务观察| ?,美国警察太有才!创造“方舱监狱”关示威者,但选错了地方