考虑到一个场景,当前有10万台设备连接,如果因为代码或者服务器原因,所有设备断开了连接,下次重启后,所有设备都会同时连上,因为连上后有些数据库和redis的操作,服务器完全抗不住。所以我想,如果一个gateway,同时有1000个正在发起连接,但是数据库和redis工作还没做完,后面设备发起连接时,直接拒绝这个请求。bussiness进程在处理完连接事件后,告诉gateway,gateway 就讲总的正在连接设备减1...
在gatewaywork的bussiness中使用redis-queue,onconnect时间中,给队列发送数据 /** * 当客户端连接时触发 * 如果业务不需此回调可以删除onConnect * * @param int $client_id 连接id */ public static function onConnect($client_id) ...
现在公司部署的gatewayworker在一台单机32核64g服务器上,现在要改成集群,看了文档,如果要改成集群,好像reload没用,要重新restart,文档写的是reload只对runall后面加载的文件有效。但是客户现在有10多万台设备在线,不想重新启动,因为重新启动会掉线。想问下有什么方案能改成集群,但是又不影响已经在线的设备...