共享订阅粘性消费问题

EMQX版本:5.8.6
问题描述
现在有两个客户端(订阅者)连接到EMQX broker的同一个节点,客户端采用共享订阅的sticky订阅策略,Sticky 选择策略为local,去订阅同一主题($queue/a/+/b)的消息。现在有另外两个客户端(发布者)连接到EMQX broker的同一个节点(同订阅者),同时给EMQX broker发布消息,主题为a/{不同}/b,每秒1W条。现在出现了一种现象,只有一个客户端在订阅消息,另一个客户端订阅的消息为0。尝试多次客户端(订阅者)重新连接,仍出现一个客户端订阅消息为0的情况。请问该如何解决这个问题,让两个客户端(订阅者)能均衡的订阅到消息。


这 2 个都选 random 就行了。

我需要保持粘性订阅的特性,相同的topic只由一个订阅者消费,同时采用local的方式保证消息不在集群内转发,减少资源消耗,提高EMQX性能。理论上Sticky 的local策略是能满足的,具体Sticky 的local策略粘性订阅是按照什么进行分配的。

这个文档写得有什么不理解么?
sticky 的英文意思就是会固定让一个客户端去消费。再加一个 local,就是在本节点找一个固定的客户端来消费。

收到感谢。那我选择local和hash_topic策略是不是能实现单个broker节点的消息,只分配给本节点的订阅者,且相同topic的消息只分配给同一个订阅者。

image