как сделать так, чтобы потребители перестали принимать сообщения в весеннем облачном потоке - PullRequest
0 голосов
/ 31 марта 2019

Я столкнулся с ситуацией, когда я хочу приостановить потребителей, чтобы они перестали использовать сообщения через приложение весенней загрузки, и сообщения не должны быть потеряны из очереди, я использую amqp и весенний облачный поток.

https://github.com/spring-cloud/spring-cloud-stream/blob/master/docs/src/main/asciidoc/spring-cloud-stream.adoc#binding_visualization_control это означает, что только у kafka есть эта опция.

Могу ли я сделать что-нибудь, чтобы исправить это для устройства rabbit-mq?

1 Ответ

0 голосов
/ 31 марта 2019

Пауза необходима для Kafka, потому что, если вы stop() контейнер, брокер будет перебалансирован и передаст разделы другому экземпляру. С RabbitMQ очередь остается, когда контейнер stop() ped, поэтому проблема там не возникает (если вы укажете group).

Вы не можете stop() контейнер для анонимного потребителя (нет group), потому что такие потребители используют очередь автоматического удаления. Нет возможности приостановить таких потребителей (протокол AMQP не имеет такого механизма).

...