0

我不确定什么是最好的方法,我有 10K 用户,每个用户订阅 5 个主题,总共 50K 主题,或者我可以更改它,以便每个用户订阅一个主题,总共 10K 主题并使用 payloadType 属性区分消息的类型。基本上,有大量消息流的 10K 主题与带有小消息流的 50K 主题。哪个更畅销并且总体上是更好的方法?谢谢

4

1 回答 1

1

需要明确的是,如果您使用的是 Apache ActiveMQ Artemis 消息代理,并且您已经配置了 JMS 主题(在版本 < 2.x 中)或多播地址(在 2.x 中)并且您有 10K 订阅者,那么无论哪种情况你最终会得到 50K队列(代表订阅)。或者,如果您有 1 个主题/地址和 10K 订阅者,那么您最终会得到 10K queues

如果您使用 10K 队列并使用 payloadType 来区分消息的类型,那么我相信您的客户将不得不过滤很多他们实际上并不想要的消息,这也意味着代理将发送大量消息最终没用。这种方法的可扩展性低于每个订阅者只获取它真正关心的消息的替代方法。

于 2017-09-01T16:43:47.790 回答