我对MQTT的功能以及整体推送设计有一些快速的问题。所以这是一个场景,让我们在Twitter的情况下说; Twitter希望向个人用户发送推送通知。所以,假设我在推文时订阅了我的通知主题。这是一个适当的主题层次结构和MQTT的用例吗?
从我对pub / sub系统的理解,这将变得非常麻烦。你不是必须为每个用户提供一个主题吗?这类系统中的主题是否有限制?数百万用户的大型应用程序如何发送推送通知?
答案 0 :(得分:2)
是的,MQTT正是您想要的。
然而,MQTT只是一个协议,主题数量的限制取决于它的实现。我使用Netty构建了自己的MQTT服务器,它可以将消息推送到单台机器上的超过一百万个客户端。对于开源解决方案,您可以查看mosquitto,这是用C编写的最广泛使用的MQTT服务器。希望这会有所帮助。
答案 1 :(得分:2)
扩展是任何系统中的一个问题。
MQTT - 好吧,一些经纪人,特别是IBM WebSphere MQ,RSMB和mosquitto--支持桥梁的概念 - 它为主题启用了卫星,网格和树层次结构。
您当然不可能有数百万个客户端连接到单个代理(但上述所有实现都可以很好地扩展到数十万个)。您需要考虑代理的主题布局和物理层次结构,以及连接的负载平衡和本地化。