当消息路由到绑定到该地址的多播队列时,例如在主题中的 JMS 订阅,内存中只有一条消息副本。每个队列仅处理对其的引用。由于此内存仅在引用消息的所有队列都已发送后释放。
如果您有单个延迟订阅,则整个地址将遭遇 IO 性能,因为所有队列都将通过分页系统上的额外存储来发送消息。
例如:
-
地址有 10 个队列
-
其中一个队列无法提供其消息(因为消费者速度过慢)。
-
消息持续到达地址并启动分页。
-
即使已经发送了消息,其他 9 个队列就为空。
在这个示例中,所有其他 9 队列将消耗来自页面系统的消息。如果这是不良状态,这可能会导致性能问题。