Потребительский баланс Кафки и его влияние - PullRequest
1 голос
/ 18 марта 2019

Я новичок в Kafka и пытаюсь создать библиотеку-обертку на Java и Go (использует Confluent / Kafka-Go) для внутреннего использования Kafka. Для моего варианта использования CommitSync является критически важным шагом, и мы должны выполнять чтение только после правильной фиксации старого. Повторная обработка не является большой проблемой, и наш клиентский сервис достаточно идемпотентен. Но потеря данных является серьезной проблемой и не должна происходить.

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

Хотелось бы узнать больше о:

1) Проблема сети во время обработки потребителем: Что происходит, когда сеть отключается на короткое время и возвращается? Потребитель Кафки автоматически обрабатывает это и становится живым, когда сеть возвращается, или мы должны повторно инициализировать их? Если они вернутся живыми, возобновят ли они работу с того места, где они остались? Например: Consumer X прочитал 50 записей из раздела Y. Теперь внутреннее смещение потребителя переместилось на +50. Но до совершения проблемы с сетью происходит, и она оживает. Теперь у потребителя будут метаданные о том, что он прочитал для последнего опроса. Можно ли продолжать фиксировать +50 в смещении?

2) Перебалансировка в группах потребителей. Влияние их на существующий потребительский процесс - будет ли существующий экземпляр работающего потребителя приостанавливать и возобновлять работу во время перебалансировки, или нам придется их повторно инициализировать? Как долго может произойти перебалансировка? Если потребитель восстанавливается после восстановления баланса, есть ли у него метаданные о последнем прочтении?

3) Что происходит, когда потребитель присоединяется во время перебалансировки. В идеале это снова сценарий восстановления баланса. Что теперь будет? Существующий будет сброшен, а новый запустится или будет ждать завершения существующего перебалансирования?

Пожалуйста, помогите мне понять эти сценарии подробно и предложить решения, если это возможно. Также было бы гораздо полезнее, если бы вы указали мне ресурс - онлайн-статью / книгу или что-нибудь, что дает представление о сложных деталях Кафки.

...