请问下 要设计10W物联网设备在线的服务器配置 和gatewayworkman 的部署方案
https://www.workerman.net/doc/workerman/faq/how-many-connections.html
5台2核4G 5-10M带宽服务器,用gatewayWorker分布式部署。 每个台开2个Gateway进程。 BusinessWorker进程开多一些,例如每台开20个BusinessWorker进程。 推荐使用webman+gatewayWorker插件
数据库阿里云RDS,一主一从或多从。主库8核16G,从库配置可以一样,也可以低一些后面升级。
我们有个物联网的项目也是约10万设备在线,大概是上面这样的配置。
注意一点: 这种大量设备在线的业务要注意一点,不要轻易重启服务器,重启一个问题不大,全部重启的话10万设备会一起发来登录请求,类似DDOS自己的服务器,10万请求一起过来会导致服务端处理不过来请求超时,客户端有超时重试的话会再次发请求,请求积压越来越多,整个服务瘫痪很久。我们有两次这样的事故。 如果不幸出现这种情况,在每台服务器上每隔几秒执行下php start.php reload 清理掉内存里积压的过期的请求,可以快速恢复整个服务。
php start.php reload
谢谢大佬 指点 我有个疑问就是 物联网设备 登录的ip服务器都是相同的 不应该分离部署吗 ? 分布式了后 除了登录的服务器 其他服务上的gateway是否还启作用 我记得分离部署 是注册和网关放到一个服务器 其他的服务器都是BusinessWorker 如果 iot设备连接的都是固定的一个ip是不是分离部署更好一点 分布式部署 是不是你们iot连接的设备 做了负载均衡 导流到了分布式了
登录最好不要用ip,用域名好一些,方面后面迁移服务器。 域名可以绑定一个ip,也可以多个。 我们使用的阿里云的负载均衡,负载均衡后面是多个ip,每个ip上都有Gateway服务。 注册,gateway,businessWorker都可以分别部署在不同的服务器,也可以部署在一起,没有限制,我们是分开部署的。
先谢谢大佬 和我想的一样 其实我也不推荐 ip 还是域名更好些
建议用PolarDB数据库,性能更强更便宜
我们用的PolarDB 还可以把 100%兼容mysql
确实这样。我们的服务每秒qps1W5,没走负载,单台服务器,然后中间为了升级服务器配置,重启了服务器,100兆带宽瞬间被打满了,半天服务器进不去了。还是得负载部署
厉害了,学习
学习了
666
https://www.workerman.net/doc/workerman/faq/how-many-connections.html
5台2核4G 5-10M带宽服务器,用gatewayWorker分布式部署。
每个台开2个Gateway进程。
BusinessWorker进程开多一些,例如每台开20个BusinessWorker进程。
推荐使用webman+gatewayWorker插件
数据库阿里云RDS,一主一从或多从。主库8核16G,从库配置可以一样,也可以低一些后面升级。
我们有个物联网的项目也是约10万设备在线,大概是上面这样的配置。
注意一点:
这种大量设备在线的业务要注意一点,不要轻易重启服务器,重启一个问题不大,全部重启的话10万设备会一起发来登录请求,类似DDOS自己的服务器,10万请求一起过来会导致服务端处理不过来请求超时,客户端有超时重试的话会再次发请求,请求积压越来越多,整个服务瘫痪很久。我们有两次这样的事故。
如果不幸出现这种情况,在每台服务器上每隔几秒执行下
php start.php reload
清理掉内存里积压的过期的请求,可以快速恢复整个服务。谢谢大佬 指点 我有个疑问就是 物联网设备 登录的ip服务器都是相同的 不应该分离部署吗 ? 分布式了后 除了登录的服务器 其他服务上的gateway是否还启作用 我记得分离部署 是注册和网关放到一个服务器 其他的服务器都是BusinessWorker 如果 iot设备连接的都是固定的一个ip是不是分离部署更好一点 分布式部署 是不是你们iot连接的设备 做了负载均衡 导流到了分布式了
登录最好不要用ip,用域名好一些,方面后面迁移服务器。
域名可以绑定一个ip,也可以多个。
我们使用的阿里云的负载均衡,负载均衡后面是多个ip,每个ip上都有Gateway服务。
注册,gateway,businessWorker都可以分别部署在不同的服务器,也可以部署在一起,没有限制,我们是分开部署的。
先谢谢大佬 和我想的一样 其实我也不推荐 ip 还是域名更好些
建议用PolarDB数据库,性能更强更便宜
我们用的PolarDB 还可以把 100%兼容mysql
确实这样。我们的服务每秒qps1W5,没走负载,单台服务器,然后中间为了升级服务器配置,重启了服务器,100兆带宽瞬间被打满了,半天服务器进不去了。还是得负载部署
厉害了,学习
学习了
学习了
666