java 网关服务器_在java实现的mmo游戏服务器中,为什么要采用网关+场景+主服务器的设计模式?...

场景并不是必然调用,因为场景是不断切换的,你去这个场景了如果还调用其他场景,会额外消耗不少资源,所以场景是不能跟主服务器一样全局的。

主服务器因为不管什么条件下都要调用,从你登录游戏开始,直到退出,只要有一瞬间主服务器不调用,那基本就出岔子了。

除此之外还要考虑维护问题,JAVA代码的好处就是各部分都可以独立出来,全部丢一起也不是不可以,维护起来吃力,对资源消耗也大。

其实不只是游戏服务器,代码的逻辑思想基本都是这样走的,必不可少的内容要跟调用时才取用的内容分开,这样某一部分出错了很快就能找出来,日常维护管理也轻松,更为关键的是减少资源消耗。

简单的说,要做一个闹钟程序,它有两个功能

A功能是时间走动,这个是全局化的,一瞬间不调用的话,那这表就出岔子了,好点的情况是表慢了,坏的情况是表不动了。

B功能是闹钟,到点了之后闹钟才会响,这个功能不是全局化的,闹钟不该响的时候也一直调用的话,这破闹钟就要砸了,24小时滴滴滴响个不停,到点了,闹钟该响了,调用它,按下睡眠按钮,那就Sleep个1000*60*5,到时候再调用一次,按下停止的话就等到下次需要时再调用。

总体来说就是一点,根据时点不同,程序分的越多越好,哪部分出问题了能直接找到,哪部分需要维护改动也能即刻搞定,如果都丢一起,那真心除了服务器额外消耗资源之外,程序员的维护也要累死了。

你可能感兴趣的:(java,网关服务器)