ActiveMQ 话题饥饿

问题描述 投票:0回答:1

我在 Amazon 上配置了一个 ActiveMQ 5.16 代理和两个主题,比如 topic1 和 topic2,我正在使用 JMS 生产者和消费者进行连接。

我的问题是,如果其中一个主题的保真度极高(例如 10k 消息/秒),而另一个主题的保真度非常低,那么 ActiveMQ 中的负载平衡将如何工作?它会导致其中一个主题被饿死吗?换句话说,topic1 发布是否会得到备份,因此 topic2 消费者是否会延迟接收消息?在那种情况下,使用不同代理的两个不同队列会更好吗?

澄清一下,我没有任何实际数据表明这是一个真正的问题。我刚刚开始实施,所以这更像是一个理论问题。

jms activemq message-queue jms-topic
1个回答
0
投票

不同主题之间本身没有“负载均衡”。它本质上是先到先得,没有任何明确的协调。

一般来说,如果您真的关心性能,您可能应该关注 ActiveMQ Artemis 而不是 ActiveMQ“Classic”。 ActiveMQ Artemis 具有非阻塞架构,可在负载下更好地扩展。您不太可能陷入线程必须相互等待的情况。

© www.soinside.com 2019 - 2024. All rights reserved.