7.4. 了解多播地址上的内存用量


当消息路由到绑定了多播队列的地址时,内存中只有一个消息副本。每个队列仅具有对邮件的引用。因此,只有在引用该消息 的所有队列都 发送相关内存后,相关的内存才会发布。

在这种情况下,如果您拥有较慢的消费者,则整个地址可能会遇到负面影响。

例如,请考虑以下情况:

  • 地址有十个队列,它使用 multicast 路由类型。
  • 由于消费者速度较慢,其中一个队列不会发送其消息。其他 9 个队列继续传递消息并为空。
  • 消息继续到达地址。较慢的使用者队列继续累积对消息的引用,从而导致代理在内存中保存消息。
  • 当达到地址的最大大小时,代理将开始页消息。

在这种情况下,因为一个较慢的消费者,所有 队列中的消费者都被强制使用来自页面系统的消息,需要额外的 IO。

其他资源

  • 要了解如何配置流控制以规范代理和生产者和用户之间的数据流,请参阅 AMQ Core Protocol JMS 文档中的 流控制
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat