网游服务器中的逻辑与场景治理
网游服务器中的逻辑与场景管理
在游戏服务器架构中,逻辑和场景一般是怎么分开处理的?
是架成两个服务器,还在是一个服务器中开两个线程,还是不做区分?
各种方式的优缺点是什么?
------解决方案--------------------
前端肯定有逻辑服务器做命令解析,解析之后根据业务类型送给不同的服务器做处理响应,响应的内容再回送给你,你再回送给客户.
至于逻辑服务器怎么知道某个业务请求应该送给哪一种服务器以及具体哪一台,可以再做一个dispatch服务器,它在内存里维护各个服务器集群的状态,根据业务请求将包转给对应的服务器.
整个业务请求只要带着逻辑服务器IP走,一切都不是问题.
------解决方案--------------------
通常是分开的。
比如有一个很大的地图,一般会有专门的地图服务器来处理人物的所在的位置。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
都用同一个程序处理的,不会为场景做个单独的服务器的。单独做个服务器逻辑同步起来很麻烦。游戏服务器一般按场景划分服务器,有一个或者多个网关服务器。很多逻辑都是以场景作为单元的比如两个玩家的交互除了聊天之外,交易,进入视野,pk,组队等等都在一个地图内完成的。所以按场景划分服务器比较合理。各种交互同步起来都不用向其他服务器去同步,又能做到分布式。这种方式要把一些公共逻辑放到一个单独服务器比如:聊天,公会逻辑。服务器的逻辑可以多线程也可以不是,最好多线程。服务器台数的多少看人数,人多就把几个主城作为一个服务器,这样的一组服务器可以容纳万人以上。关于DB其实压力不大的,数据库单独一个线程就行了,不要阻塞逻辑线程就行。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
在游戏服务器架构中,逻辑和场景一般是怎么分开处理的?
是架成两个服务器,还在是一个服务器中开两个线程,还是不做区分?
各种方式的优缺点是什么?
------解决方案--------------------
前端肯定有逻辑服务器做命令解析,解析之后根据业务类型送给不同的服务器做处理响应,响应的内容再回送给你,你再回送给客户.
至于逻辑服务器怎么知道某个业务请求应该送给哪一种服务器以及具体哪一台,可以再做一个dispatch服务器,它在内存里维护各个服务器集群的状态,根据业务请求将包转给对应的服务器.
整个业务请求只要带着逻辑服务器IP走,一切都不是问题.
------解决方案--------------------
通常是分开的。
比如有一个很大的地图,一般会有专门的地图服务器来处理人物的所在的位置。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------
都用同一个程序处理的,不会为场景做个单独的服务器的。单独做个服务器逻辑同步起来很麻烦。游戏服务器一般按场景划分服务器,有一个或者多个网关服务器。很多逻辑都是以场景作为单元的比如两个玩家的交互除了聊天之外,交易,进入视野,pk,组队等等都在一个地图内完成的。所以按场景划分服务器比较合理。各种交互同步起来都不用向其他服务器去同步,又能做到分布式。这种方式要把一些公共逻辑放到一个单独服务器比如:聊天,公会逻辑。服务器的逻辑可以多线程也可以不是,最好多线程。服务器台数的多少看人数,人多就把几个主城作为一个服务器,这样的一组服务器可以容纳万人以上。关于DB其实压力不大的,数据库单独一个线程就行了,不要阻塞逻辑线程就行。
------解决方案--------------------
------解决方案--------------------
------解决方案--------------------