👩💻 Loginapp
大约 1 分钟
作为第一个与用户进行连接的服务器,其负载均衡的能力是至关重要的,直接影响到用户的第一次体验。很多时候登录服务器会产生大量的并发(如有运营活动等),此时对其会造成一定的压力,导致用户的通讯反馈缓慢。
Loginapp是一个对外的服务器,它一般情况下虽然不需要很大的计算量,但是对带宽的要求相对较高,所以建议是给不同的Loginapp分配不同的线路和带宽。
在引擎体系中,允许有N个Loginapp,我们只需要启动多个Loginapp即可。
注意:
整个引擎体系中,每个app的cid必须唯一,所以在启动多个Loginapp时,需要在启动脚本或启动工具(如WebConsole)中指定不同的cid!
方案1:
用户登录时,请求哪个Loginapp,需要客户端上的业务逻辑进行判断。
客户端内部,保留了所有Loginapp的ip、端口,在连接时,随机选择一个Loginapp的ip。
方案2:
客户端在连接Loginapp前,先通过自行设计的接口(通过HTTP、Webservice等方法)获取到Loginapp的列表,其中包含各个Loginapp的IP、端口、负载情况等。根据负载的情况,选择最低负责的Loginapp进行连接。
方案3:
使用DNS负载均衡相关技术,使用域名作为连接的host,由DNS的负载均衡找到合适的Loginapp进行连接。客户端的开发也相对简单,只需要记录好要访问的域名即可。详解请翻阅DNS负载均衡,该技术特性不在引擎考虑范围内。