MQTT主题缩放

时间:2013-04-06 22:35:45

标签: design-patterns push-notification cloud mqtt

我对MQTT的功能以及整体推送设计有一些快速的问题。所以这是一个场景,让我们在Twitter的情况下说; Twitter希望向个人用户发送推送通知。所以,假设我在推文时订阅了我的通知主题。这是一个适当的主题层次结构和MQTT的用例吗?

从我对pub / sub系统的理解,这将变得非常麻烦。你不是必须为每个用户提供一个主题吗?这类系统中的主题是否有限制?数百万用户的大型应用程序如何发送推送通知?

2 个答案:

答案 0 :(得分:2)

是的,MQTT正是您想要的。

然而,MQTT只是一个协议,主题数量的限制取决于它的实现。我使用Netty构建了自己的MQTT服务器,它可以将消息推送到单台机器上的超过一百万个客户端。对于开源解决方案,您可以查看mosquitto,这是用C编写的最广泛使用的MQTT服务器。希望这会有所帮助。

答案 1 :(得分:2)

扩展是任何系统中的一个问题。

MQTT - 好吧,一些经纪人,特别是IBM WebSphere MQ,RSMB和mosquitto--支持桥梁的概念 - 它为主题启用了卫星,网格和树层次结构。

您当然不可能有数百万个客户端连接到单个代理(但上述所有实现都可以很好地扩展到数十万个)。您需要考虑代理的主题布局和物理层次结构,以及连接的负载平衡和本地化。