开源服务器框架NoahFrame分享 第一章:游戏服务器的进化[多图]
时间:2017-10-31 11:55:21
2:拆分了各种功能划分为单独的服务器,可以有效降低单点故障,加强了集群的可持续性和系统的可用性,避免了单个系统故障可能引起的”雪崩效应“;
3:集群内部服务器,均增加了一致性算法,有效的保障了数据的一致性,和协议路由准确性;
4:大量的actor应用,有效的避免了http,mysql等同步等待的业务堵塞主业务的情况,加强了整个架构的灵活性;
5:大量的基础库插件,大大的提升了开发效率和系统的成型率;
缺点:架构过于复杂,需要一定水平的成员才能驾驭,否则会很容易发生隐藏的非必现事故;
那现在来说一下NF的服务器架构的一些基础内容。
1:区服管理相关
在整体架构上,NF设计为可分区分服也可全区全服部署。如果是全区全服部署,则相当于一个大区扩容接纳所有玩家(在worldserver下面扩容gameserver);如果是分区分服部署,则worldserver下属为一个单服,许多worldserver构成的单服一起注册在master构成整个游戏世界。
2:服务器管理机制
(1)masterserver
masterserver管理所有的loginserver和所有的worldserver,区服的状态和列表,可由worldserver主动发消息更新(所有的loginserver和worldserver一启动就要向master注册),它是整个额架构中的老大,中心节点。同时,次节点可以支持配置多台服务器以避免单点,而且这些无需额外写代码;
(2)worldserver
worldserver管理所有此服下面所有的gameserver和proxyserver,并保存他们的状态(所有gameserver和proxyserver一启动就需要连接到worldserver注册)。同时,次节点可以支持配置多台服务器以避免单点,而且这些无需额外写代码;
(3)loginserver
loginserver主要用于向用户展示区服列表和处理登录逻辑,loginserver一启动就需要像masterserver注册。同时,次节点可以支持配置多台服务器以避免单点,而且这些无需额外写代码;
(4)gameserver一启动就要向worldserver注册并纳入管理,如果worldserver广播下来的服务器列表中有其他worldserver,还需要主动去连接其他的worldserver(几乎所有的server都会有这样的逻辑,扩容用);同时,gameserver接受proxyserver的连接;gameserver内部自带actor,因此架构中不再继续使用DBServer这样的代理数据库服务器;
(5)proxyserver在架构中主要用与代理client数据请求的作用以及核对消息的作用,一启动就需连接到worldserver并接受管理,并从worldserver获取到gameserver(同一个服)列表然后主动连接到所有的gameserver;proxyserver会主动汇报自己的状态和开放端口给worldserver。同时,次节点可以支持配置多台服务器以避免单点,而且这些无需额外写代码;
相关游戏
-
开源读书软件26MB新闻资讯
-
开源阅读app1MB新闻资讯
-
tap,tap双击背部官网111MB系统安全
-
小松鼠短视频完美开源源码26MB影音视频
最新合集
相关文章
最新游戏
玩家评论
网名(您的评论需要经过审核才能显示) 回复 [ ] 楼取消回复