所以,我有一堆移动设备(数百万),并将有一个后端系统。 我的需求/用例是: - 1.从设备收集数据并发送到后端。 2.将Push消息从我的后端系统发送到单个或一组设备。
因此,在这种情况下,使用MQTT进行后端与设备之间的通信是否有意义? 其中一个困惑是,在用例#1中,设备是发布者,后端的某些系统将是订阅者,而对于用例#2,设备是推送消息的订阅者,后端系统将是发布者。这可能吗?或者我是否以错误的方式思考它?
答案 0 :(得分:3)
参与了许多符合这种使用模式的例子(例如带有推送通知的移动遥测系统),我可以说MQTT可以完美契合。任何MQTT客户端都可以充当发布者和消费者,没有区别。
您只需要设计主题结构以适合您向任一方向发送的数据,但这并不困难。
答案 1 :(得分:1)
通常,MQTT非常适合您的用例#1和用例#2。
请记住,您可能会遇到这种规模的后端订阅者问题,因为(据我所知)没有MQTT库可以处理如此大规模的吞吐量。
稍微不同的方法是代理直接与后端通信,类似于this blog post
Here是关于此主题的MQTT邮件列表的有趣讨论。