考虑到一个场景,当前有10万台设备连接,如果因为代码或者服务器原因,所有设备断开了连接,下次重启后,所有设备都会同时连上,因为连上后有些数据库和redis的操作,服务器完全抗不住。所以我想,如果一个gateway,同时有1000个正在发起连接,但是数据库和redis工作还没做完,后面设备发起连接时,直接拒绝这个请求。bussiness进程在处理完连接事件后,告诉gateway,gateway 就讲总的正在连接设备减1,有什么办法能让bussiness修改gateway里的变量,或者有什么事件告诉gateway
10w
不用集群? 集群一起更新,宕机的可能性很小吧
怕需要代码restart,这样gateway跟设备之间保持的连接回断掉,服务重新启动后,设备回同时发起连接,这样数据库吃不消
看看这个是否能实现你的需求
https://www.workerman.net/doc/workerman/tcp-connection/pause-recv.html