Обработка обратного давления и предотвращение перебалансировки на медленной потребительской кафке - PullRequest
0 голосов
/ 11 декабря 2018

Сценарий использования заключается в том, что мой потребитель иногда выполняет некоторую работу ввода-вывода, которая иногда занимает много времени.Я использую Spring 2.0.1 и <spring-cloud.version>Elmhurst.RELEASE</spring-cloud.version</spring-cloud.version>

Первоначальным решением было установить max.poll.interval.ms на более высокое значение и max.poll.records на более низкое значение, чем по умолчанию.Это уменьшило количество перебалансировок, но все же есть случаи, когда операции ввода-вывода занимают более длительное время, чем max.poll.interval.ms, а перебалансировки довольно дорогостоящие, что приводит к некоторой задержке.Если перебалансировки не произойдет, обработка будет завершена своевременно, даже если учесть ситуации, когда продолжительность ввода-вывода резко возрастет.

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

1 Ответ

0 голосов
/ 11 декабря 2018

Единственное известное мне решение - настроить эти два свойства (или сократить время, затрачиваемое слушателем).

...