共享订阅主题,共享订阅策略配置为hash_clientid,这个clientId是订阅者的Id还是发布者的客户端Id

配置两个客户端同时订阅共享主题 $share/test/my, 通过规则将消息重发布至主题 my。配置的共享策略为hash_clientid,但是为啥只有一个订阅者能够收到消息?这个hash_clientid是指根据谁的clientid来进行hash?如果是根据订阅者的clientid就没有办法起到负载的作用了。
想要达到的效果:

是发送者的 clientid。我们更新一下 Dashboard 上的描述。

通过规则消息重发布后该策略会失效掉,

走规则引擎之后,clientid 字段丢了,变成了 rule-id。可以理解为规则作为一个 client 发出了一条消息。所以 sender clientid 一直是 rule-id.

这中情况下,可能你只能用 local,random 或者 round_robin 策略。因为集群内做 round_robin 很费,未必能达成真正的轮询效果,建议用 random 或者 local.

使用 local 策略需要每个节点上都至少有一个订阅者连接,当前节点上的共享订阅消息只会投递到本节点上的订阅者。