请问下 要设计10W物联网设备在线的服务器配置 和gatewayworkman 的部署方案

567

问题描述

请问下 要设计10W物联网设备在线的服务器配置 和gatewayworkman 的部署方案

1217 2 27
2个回答

walkor

5台2核4G 5-10M带宽服务器,用gatewayWorker分布式部署。
每个台开2个Gateway进程。
BusinessWorker进程开多一些,例如每台开20个BusinessWorker进程。
推荐使用webman+gatewayWorker插件

数据库阿里云RDS,一主一从或多从。主库8核16G,从库配置可以一样,也可以低一些后面升级。

我们有个物联网的项目也是约10万设备在线,大概是上面这样的配置。

注意一点:
这种大量设备在线的业务要注意一点,不要轻易重启服务器,重启一个问题不大,全部重启的话10万设备会一起发来登录请求,类似DDOS自己的服务器,10万请求一起过来会导致服务端处理不过来请求超时,客户端有超时重试的话会再次发请求,请求积压越来越多,整个服务瘫痪很久。我们有两次这样的事故。
如果不幸出现这种情况,在每台服务器上每隔几秒执行下php start.php reload 清理掉内存里积压的过期的请求,可以快速恢复整个服务。

  • 567 2023-12-19

    谢谢大佬 指点 我有个疑问就是 物联网设备 登录的ip服务器都是相同的 不应该分离部署吗 ? 分布式了后 除了登录的服务器 其他服务上的gateway是否还启作用 我记得分离部署 是注册和网关放到一个服务器 其他的服务器都是BusinessWorker 如果 iot设备连接的都是固定的一个ip是不是分离部署更好一点 分布式部署 是不是你们iot连接的设备 做了负载均衡 导流到了分布式了

  • walkor 2023-12-19

    登录最好不要用ip,用域名好一些,方面后面迁移服务器。
    域名可以绑定一个ip,也可以多个。
    我们使用的阿里云的负载均衡,负载均衡后面是多个ip,每个ip上都有Gateway服务。
    注册,gateway,businessWorker都可以分别部署在不同的服务器,也可以部署在一起,没有限制,我们是分开部署的。

  • 567 2023-12-19

    先谢谢大佬 和我想的一样 其实我也不推荐 ip 还是域名更好些

  • gddd 2023-12-19

    建议用PolarDB数据库,性能更强更便宜

  • smile1 2023-12-19

    我们用的PolarDB 还可以把 100%兼容mysql

  • 晚安。 2023-12-20

    确实这样。我们的服务每秒qps1W5,没走负载,单台服务器,然后中间为了升级服务器配置,重启了服务器,100兆带宽瞬间被打满了,半天服务器进不去了。还是得负载部署

  • ak47f16200 2023-12-23

    厉害了,学习

  • 第六人 2023-12-28

    学习了

  • W 12天前

    学习了

  • ab0029 10天前

    666

🔝