我的要求是负载 balancer 在不同VM上运行的2个MQTT节点,然后让消费者在两个节点上使用这些MQTT代理 . 消费者的工作是订阅一个主题,在收到数据后,将其发布到Kafka . 问题我看到,如果由于两个MQTT消费者都订阅了相同的主题,他们将收到相同的消息,并且两者都会将其插入到Kafka中,从而创建重复项 . 反正是为了避免将副本写入 Kafka ?
-
我曾尝试过Mosquitto和Mosca经纪人,但他们不支持群集 . 因此订阅的客户端如果订阅了与发布消息的节点不同的节点,则不会收到消息 . 两个节点都落后于HAProxy .
-
我目前正在使用支持群集的emqtt代理,负载均衡问题得到了解决,但似乎它不支持跨群集节点的共享订阅 .
像 Kafka 消费者群体这样的功能是我认为的要求 . 有任何想法吗?
1 回答
你试过HiveMQ吗?
它提供了所谓的shared subscriptions .