【摘要】:本文以《天下盛境》这一商业项目的服务器端架构设计与实现为蓝本音乐,讲述以面向服务架构(SOA)为指导思想,对《天下盛境》的服务器端架构进行设计和实现的过程网页游戏服务端开发,探讨此类游戏的实用技术。面对实时性带来的技术挑战,和网页游戏的技术约束,我们研究了底层的I/O模型、CPU复用、进程间通信、远程过程调用(RPC),运维和测试支撑系统。本项目独创性地将常用于Web项目的SOA思想应用到游戏的服务器端架构的设计中;使用Python编程语言实现了消息总线,屏蔽了服务的地址和协议,将服务器进程之间的耦合巧妙地分离;通过消息总线,游戏的数据库、聊天、外挂检测、登陆、区域、频道、副本和竞技场等子系统相互协作硬件设备,共同完成业务需求;使用基于协程的高性能I/O模型,在高效的网络收发库gevent之上建立了基于Google Protobuf的RPC协议;使用基于序号的通信实现了防重放、防篡改机制,达到较好的安全通信效果。通过对一些指标评测,如对RPC调用性能、平均单台物理服务器承载人数等进行评测网页游戏服务端开发,结果表明这些指标都达到商用水平。本项目的工作,对于进一步发扬SOA思想,把更多的服务分拆、独立出来,为公司(甚至整个行业)的其它项目所用具有重要意义。
文章来源:https://cdmd.cnki.com.cn/Article/CDMD-10561-1012304394.htm