Kafka Acknowledgement.acknowledge () только смещение, которое обработчик Listener завершил - PullRequest
0 голосов
/ 14 сентября 2018

Мы разрабатываем приложение SpringBoot, в котором сообщения генерируются в очередь Kafka и обрабатываются прослушивателями (на нескольких серверах может обрабатываться несколько потоков на каждом сервере).

Когда сообщение обрабатывается успешно,мы хотели бы сделать что-то вроде Acknowledgement.acknowledge() в Слушателе, чтобы пометить сообщение как обработанное.

Однако, согласно документации: https://docs.spring.io/spring-kafka/api/org/springframework/kafka/support/Acknowledgment.html:

Вызов этого метода подразумевает, чтовсе предыдущие сообщения в разделе уже обработаны

Я вижу, что это вызывает проблему с многопоточностью и условиями гонки ...

Аналогичный вопрос без ответа: SpringКафка безопасен ли поток Acknowledgement.acknowledge?

Итак, я полагаю, я спрашиваю, является ли Acknowledgement.acknowledge() неправильным способом сделать это, что?Должен быть способ пометить конкретное сообщение (не все смещение) как обработанное ...

Спасибо!

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