【问题标题】:Paging mode in ActiveMQ ArtemisActiveMQ Artemis 中的分页模式
【发布时间】:2021-04-12 23:29:44
【问题描述】:

据我了解,如果地址超过定义的大小,将对地址进行分页。目前我们经历了分页,但不是在已知地址(队列)上。好像它是来自 ActiveMQ 的内部队列?是否可以理解ActiveMQ在这里分页的地址是什么?

WARN [org.apache.activemq.artemis.core.server] AMQ222038: Starting paging on address '$.artemis.internal.my-cluster.fec50662-55c7-11eb-91d1-005056903119'; size is currently: 25,238,532 bytes; max-size-bytes: -1; global-size-bytes: 524,357,417

这对我们很重要,因为我们分析了这种分页导致我们队列中的消息无法被消费。

【问题讨论】:

    标签: activemq-artemis


    【解决方案1】:

    名为$.artemis.internal.my-cluster.fec50662-55c7-11eb-91d1-005056903119 的地址和相关队列用于集群内通信。当消息需要从一个节点移动到另一个节点时,它们会被发送到该地址,然后由内部集群桥转发到另一个代理。

    鉴于日志消息,我推测您已到达global-size-bytes,这是通过将所有地址中的字节相加计算得出的。您可以考虑在broker.xml 中增加您的global-max-size

    您说这种分页会阻止您的消费者消费消息。然而,同样值得注意的是,分页通常引起消费者不消费消息,而不是相反。当消费者减速或停止时,消息会在代理中建立,它别无选择,只能开始分页。因此,您可能会同时看到这两种情况,这可能会导致归因错误。

    【讨论】:

    • 我们的 当前为 500Mb。是的,我们正在考虑增加这个值。一个问题:为什么'size is current'的值没有增加500Mb?当前大小为:25,238,532 字节;全局大小字节:524,357,417
    • 的大小是 pro Broker 还是 pro Cluster?
    • global-max-size 是每个代理执行的,而不是每个集群。你能用你的其他问题创建一个新帖子吗?我认为这里的 cmets 解释太多了。
    猜你喜欢
    • 1970-01-01
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-08
    • 1970-01-01
    • 2020-10-09
    • 1970-01-01
    相关资源
    最近更新 更多