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

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

文章插图
通信模块
对于通信模块来说,需要有灵活的可替换协议的能力,就必须按一定的层次进行进一步的划分 。对于游戏来说,最底层的通信协议,一般会使用 TCP 和 UDP 这两种,在服务器之间,也会使用消息队列中间件一类通信软件 。框架必须要有能同事支持这几通信协议的能力 。故此设计了一个层次为:
推荐阅读
-
钱江晚报|“电视剧都这样演!”杭州女婿为帮老丈人,法庭上一个动作看呆众人!后果严重了
-
柳叶刀TheLancet|中国女性青少年结婚和生育趋势分析
-
任嘉伦|任嘉伦答允粉丝的要要求,现在都实现了,唱歌专辑已发布
-
苏菲玛索919|少穿牛仔裤,多穿这样的“收腰裙”,彰显女人魅力,女人过了40岁
-
证监会发布警示!警惕“庄家”“大V”联合诱骗投资者
-
中国国家博物馆|全国首个“红色文创联盟”在国家博物馆成立
-
-
群众网原创 中国电信吸引新用户,9元+200G流量+100分钟,幸福来得太突然!
-
-
苹果|消息称苹果近期对iPhone SE3试产:明年初有望发布 配置大幅提升
-
「智慧医疗」肺癌术后如何促进康复?这3个方面必不可少
-
-
#汽车大世界#月 17 日 即享超值 奇瑞新能源双 e 超值版即将上市,4
-
「钱江晚报小时新闻」球员除了练脚法,还得练练手上功夫,球衣自己洗!曼联恢复训练后
-
-
-
-
#肿瘤#这个信号别忽视了!男子尿血查出肾癌,手术切除“火龙果”大肿瘤
-
郭美美|郭美美开200万座驾来买600万豪车,与赌王四太关系好
-
小溪带娃记|可能是“斯万高利效应”,父母要及时引导,孩子总是悲观消极