AnyChat平台提供了服务器双机热备解决方案,可以满足对系统有要求较高的客户需求,如政府、电信运营商以及部队等。
一、基本原理
1、AnyChat服务器有两种工作模式,分别为:主服务器模式(MasterServer)、从服务器模式(Slave Server)。
2、从服务器启动之后,需要与主服务器建立通信连接,等待主服务器的激活,从服务器被激活之前,不能对外提供服务。
3、当从服务器被激活,且主服务器宕机之后,从服务器将会立即开始服务,接受客户端连接。从服务器被激活之后,可以连续工作30天,过期必须重新与主服务器建立通信连接,重新被激活。从服务器被激活之后,系统重启后可继续提供服务。
4、当从服务器被激活,且正在提供服务时,若主服务器启动,则从服务器停止提供服务,不接受客户端的网络连接,之前已成功连接从服务器的客户端不受影响,网络连接不会被断开。
二、部署流程
部署主服务器:
AnyChat服务器默认配置便是主服务器模式;
部署从服务器:
按如下配置修改服务器配置文件(AnyChatCoreServer.ini)
1.[Base Settings]
2.SDKAuthPass=****** #认证密码必须与主服务器相同
3.DemoMode=0
4.
5.[Standby Server Settings]
6.SlaveMode=1
7.MasterServerIP=192.168.1.5
8.MasterServerUDPPort=8907
上述配置参数中,“DemoMode=0”表示让服务器工作于授权模式下,“SlaveMode=1”表示让服务器工作于备份模式,另外三项“MasterServerXXXX”配置是主服务器相关参数,用于从服务器与主服务器建立连接之用。
修改完配置后,需要重启服务器程序。
可根据服务器的日志输出判断相关工作状态:
主服务器启动后,接收到从服务器的连接时,会在日志中输出:
1.Slave server(192.168.1.2-8907) connect success!
从服务器启动后,与主服务器连接成功并激活时,会在日志中输出(此时从服务器处于备份状态):
1.Start slave server mode, waiting for master server(192.168.1.5-8907) reply...
2.Success connect to master server!
3.Successful synchronization master server licenseinformation!
从服务器从备份状态转为工作状态(主服务器宕机)时,会在日志中输出:
1.The master server fails, slave server start working...
从服务器被激活,且主服务器已宕机,宕机时间不超过30天,此时启动从服务器时,会在日志中输出:
1.Start slave server mode, working time within the effectivetime.
三、相关说明
1、演示模式服务器不支持热备模式,即不能连接主服务器,也不能被从服务器所连接;主、从服务器不能部署在同一台服务器主机上;
2、只要服务器经过授权,均支持双机热备;
3、只有主服务器需要授权证书,从服务器在连接成功主服务器,且被激活时,会自动同步主服务器的授权信息,所以从服务器具备主服务器相同的授权信息;
4、如果主服务器在配置文件中设置了网络连接认证密码(“SDKAuthPass”),则必须在从服务器的“SDKAuthPass”中设置同样的密码,否则从服务器不能正常连接到主服务器。
5、主从服务器之间采用UDP通信,故部署从服务器时,配置文件中是配置的主服务器UDP服务端口;
6、若要实现双机热备,动态切换的功能,则必须使用第三方服务器集群解决方案进行配合,在集群内部,主从服务器是独立的两台主机,IP地址不同,但是对外服务时,集群提供统一的对外IP,当主服务器宕机时,集群软件会自动将对外IP切换到从服务器;
7、需要4.1.0.2版本以上AnyChat服务器才能支持热备解决方案。