gpt4 book ai didi

使用和不使用追溯模式的持久订阅之间的 activemq 差异

转载 作者:行者123 更新时间:2023-12-02 00:05:27 28 4
gpt4 key购买 nike

我刚刚开始使用activemq,我有一个关于追溯消费者的问题,为了启用这个功能,你需要有一个持久的订阅。但是在主题上启用和不启用追溯的持久订阅有什么区别? activemq 文档说。

http://activemq.apache.org/retroactive-consumer.html
追溯消费者只是一个常规的 JMS 主题消费者,它表示在订阅开始时,每次尝试都应该用于及时返回并发送消费者可能错过的任何旧消息(或在该主题上发送的最后一条消息) .

关于追溯消费者。对于持久订阅者:

http://activemq.apache.org/how-do-durable-queues-and-topics-work.html
...因此,对于持久主题订阅,JMS 提供程序需要能够在 S 关闭时识别 S,并在以后重新连接时识别它,以便在它未运行时知道要向其发送哪些消息

我真的没有看到使用和不使用追溯模式的持久订阅之间有什么大的区别。

请解释谢谢。

最佳答案

retroactive consumer实际上不是您使用持久订阅所做的事情。持久主题订阅者将所有发送给他们的标记为持久性的消息保存在数据库中,直到他们下次连接时才会发送这些消息。

对于非持久主题订阅,您可以配置 subscription recovery policy并将消费者标记为可追溯的。当消费者连接时,代理将根据您配置的恢复策略将内存中的任何主题消息发送给消费者。

因此,如果您使用的是持久订阅,请不要打扰追溯性的东西,因为它没有必要。并且不要指望追溯消费者总是工作,因为它只对存储在内存中的消息进行操作,因此如果代理重新启动,则没有任何东西可以恢复。

许多情况下更好的选择是使用 Virtual Topics因为这将为每个消费者分配一个队列,并且即使消费者离线一段时间,消息也将存储在队列中。

关于使用和不使用追溯模式的持久订阅之间的 activemq 差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18691999/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com