我正在为手机设计一个多人游戏,我正在开发一个分布式服务器架构来处理很多并发玩家。
这里是我脑海中的建筑:
关于该体系结构的一些问题:
1)如何在login Server上提供安全登录?
2-)如何保护数据库查询的安全性?这是否可能太慢?下面是我的想法:
3)如何将游戏服务器合并成一个游戏服务器?
我是否采用了正确的方式进行mmo服务器设计?我正在使用Java和Kryonet库进行服务器编程。
发布于 2014-04-07 23:35:23
不要与数据库服务器进行客户端对话。客户端只与前端游戏服务器交谈,而没有其他任何内容。然后,该服务器将客户端请求分发给适当的后端服务器。
前端服务器和(大多数)其他服务器都是地理分布的。不像图中那样分发前端服务器,几乎会破坏每个区域服务器的全部功能。您真正想要共享的唯一东西是一个帐户服务器,然后尽可能少。
客户端连接到前端服务器。前端服务器然后连接到登录/帐户服务器、电子商务服务器、聊天服务器和游戏/地图服务器。服务器可以根据需要相互交谈,因为它们都在您的专用网络中。唯一的攻击点是公共前端服务器。
对于服务器之间的通信,您通常可以使用某种类型的消息队列服务,如RabbitMQ或大量类似的软件包之一。
多年来,GDC已经就这个问题进行了大量的讨论和论文,当它们已经在真实的环境中为您设计和测试时,没有理由发明您自己的体系结构。GDC Vault免费内容
https://gamedev.stackexchange.com/questions/73092
复制相似问题