基于Netty的网页游戏网关服务器架构的设计与实现

来源 :南京大学 | 被引量 : 0次 | 上传用户:Kingt1
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着互联网技术的快速发展,网络游戏成为了人们主要的娱乐方式之一。传统的网络游戏服务器架构采用客户端-服务器模式,由客户端直接向服务器发起网络请求,服务器给予相应的响应。随着游戏玩家数量的不断增加,单个游戏服务器无法处理,而客户端与服务器直连的架构模式难以支持游戏服务器集群,限制了游戏的负载上限。另一方面,传统的服务器架构模式下服务器与服务器之间相互独立,不进行消息通信,难以实现跨服战场和全服战场等业务需求。本文基于游戏玩家数量不断增长和跨服战场难以实现的背景,根据当前游戏服务器架构的研究现状,针对他们的缺点并结合游戏公司服务器架构的需求,从设计和实现的角度提出了网关服务器架构这一解决方案。本文的主要工作如下:(1)针对游戏玩家不断增长导致了游戏服务器负载上限的问题,本文提出了在直连的架构模式中引入网关服务器,网关服务器实现了对游戏服务器集群的负载均衡,游戏服务器集群根据游戏实际负载动态上线或下线游戏服务器,支持更大规模的玩家同时在线竞技,使得游戏没有负载上限。(2)针对跨服战场的需求问题,本文提出了将通信消息定义为单播、组播和广播三种消息类型,单播消息用来做客户端到服务器的通信,组播消息用来做跨服战场通信,广播消息用来做全服战场通信,网关服务器和游戏服务器根据消息类型做不同的处理,有效地解决了跨服战场的问题,也支持了更复杂的业务需求。(3)针对消息序列化的问题,本文提出了自定义二进制协议,实现了消息协议的编解码,提高了消息的传输效率,解决了分包和黏包的问题,同时二进制协议支持任意语言来实现游戏客户端。(4)针对服务管理的问题,本文提出了在服务器架构中引入服务注册中心,基于ZooKeeper实现的服务注册中心实现了对游戏服务的注册、发现和监听。同时服务注册中心通过划分节点实现了对服务的管理,支持游戏服务器动态上线和下线,使得开发人员不用手动维护服务器配置表,简化了开发流程。目前上海某游戏公司已经为网关服务器架构成立开发小组,使用该架构已经完成了对游戏服务器逻辑的部分重构,为游戏服务器架构的演进奠定了基础。
其他文献
绵延数千年的天井关,是晋城重要的名片和鲜活的地域文化符号。本文以丰富的史书记载和诗文碑碣、"孔子回车"的历史故事和风格独特的天井关孔庙为研究内容,对其地理位置和人文影
<正>目的对脑卒中异常步态分析及康复治疗进展进行综述。方法对国内外近几年发表的有关脑卒中后步态分析及步态异常康复训练文献进行复习。结果一、脑卒中后步态异常分析1.偏
会议
2019年3月3日,全国政协主席汪洋在向全国政协第十三届二次会议作工作报告时,提出了聚焦快递行业绿色发展等问题,这是全国政协常委会工作报告中第四次提及“快递”。不同于前三次
报纸