有没有 MQTT 高可用负载均衡方案

245 天前
 laters

目前设备连接 MQTT ,多个 MQ server 后台不清楚设备具体连接到了哪个 server 上,导致推送时不知道使用哪个 server 推送消息给设备

有没有 MQTT 高可用、负载均衡方案

5199 次点击
所在节点    程序员
40 条回复
GeekGao
245 天前
可以用 nginx 反向代理做 LB
laters
245 天前
@GeekGao 目前是 nginx upstream 转发, 但问题是不清楚设备具体连接到了哪个 server 上,导致推送时不知道使用哪个 server 推送消息给设备
GeekGao
245 天前
@laters 你的这个业务为啥一定要知道使用哪个 server 推送消息给设备?
uleh
245 天前
MQTT 是长连接,这种模式一般要在业务服务前面架一个消息 broker 专门负责连接管理和消息收发。
me1onsoda
245 天前
emqx ?这种商业产品肯定妥妥的,你这种方式不叫集群
laters
245 天前
@me1onsoda 还有类似的吗
laters
245 天前
@uleh 有类似的工具和库吗
laters
245 天前
@GeekGao #3 不然有 1 、2 服务器,客户端只连接了 1 ,如果不知道连接了哪个,怎么推送消息
GeekGao
245 天前
@laters 对外暴露的 IP 不就是同一个么。。。
me1onsoda
245 天前
@laters 有哪里不满足需要的吗
Pony69
245 天前
消息路由?以前工作遇到过类似的。
laters
245 天前
@GeekGao #9 现在只能俩 MQTT server 一起发才能保证客户端能接收到,然后后台不知道用哪个 server 给客户端推送
laters
245 天前
@me1onsoda #10 现在只能俩 MQTT server 一起发才能保证客户端能接收到,然后后台不知道用哪个 server 给客户端推送
me1onsoda
245 天前
@laters 最简陋的方案就是 ng 负载均衡按照设备编号选择连接哪台 broker ,给设备推送消息同理
uleh
244 天前
@laters 5 楼说的 emqx 就是啊
laters
244 天前
@uleh #15 除了这种商业的还有别的方案吗
mango88
244 天前
设备连接后不上报连接信息的吗
xiyou007
244 天前
emqx 也不是商用的, 你自己搭一个, 几个 emqx-节点 ,emqx 也搭集群的, 官网有教程, 上面再搭个 haproxy 做负载,
xiyou007
244 天前
@xiyou007 说错,emqx 也有免费开源的
l0wkey
244 天前
百度之前开源了个 MQTT broker ,好像叫 bifromq

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1021963

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX