ActiveMQ разница между длительными подписками с ретроактивным режимом и без него

Я только начал использовать activemq, и у меня есть вопрос об обратных потребителях, чтобы включить эту функцию, вам нужна постоянная подписка. Но в чем разница между длительной подпиской с включенной обратной силой по теме и без нее? в документе activemq говорится.

http://activemq.apache.org/retroactive-consumer.html Ретроактивный потребитель просто обычный потребитель темы JMS, который указывает, что в начале подписки следует использовать каждую попытку, чтобы вернуться в прошлое и отправить любые старые сообщения (или последнее сообщение, отправленное по этой теме), которые пользователь мог пропустить.

об обратных потребителях. а для постоянных подписчиков:

http://activemq.apache.org/how-do-durable-queues-and-topics-work.html ... Таким образом, для долговременной подписки на темы поставщик JMS должен иметь возможность идентифицировать S, когда он завершает работу, а затем в будущем повторно подключается, чтобы он мог знать, какие сообщения ему отправлять, пока он не работал

Я действительно не вижу большой разницы между длительными подписками с ретроактивным режимом и без него.

Объясните, пожалуйста, спасибо.


person user2760360    schedule 09.09.2013    source источник


Ответы (1)


ретроактивный потребитель - это не то, что вы делаете с постоянной подпиской. Подписчики устойчивых тем имеют все отправленные им сообщения, которые помечены как постоянные, сохраненные в базе данных до следующего раза, когда они подключатся, а затем эти сообщения будут отправлены.

Для краткосрочной тематической подписки вы можете настроить политику восстановления подписки и пометить тег у потребителя как с обратной силой. Когда потребитель подключается, брокер отправляет потребителю любые сообщения темы, которые находятся в памяти, на основе настроенной вами политики восстановления.

Так что не возитесь с задним числом, если вы используете длительную подписку, поскольку в этом нет необходимости. И не рассчитывайте, что ретроактивный потребитель всегда будет работать, поскольку он работает только с сообщениями, хранящимися в памяти, поэтому при перезапуске брокера восстанавливать нечего.

Лучшим вариантом во многих сценариях является использование виртуальных тем, так как это назначит очередь для каждого Потребитель и сообщения будут храниться в очереди, даже если потребитель отключится на некоторое время.

person Tim Bish    schedule 09.09.2013
comment
Не могли бы вы привести пример использования долгосрочной подписки, а не ретроактивного потребителя? - person Sudarshan; 25.05.2015
comment
Обратные потребители только погружаются в память, а не в магазин, поэтому, если брокер перезапустится, сообщений для обратного восстановления не будет. - person Tim Bish; 25.05.2015
comment
Зачем вам нужна виртуальная тема, если у вас есть длительные подписки? - person Jonathan S. Fisher; 03.09.2015