Кафка-потоки искажают семантику обработки сообщений - PullRequest
0 голосов
/ 05 сентября 2018

Я заметил, что записи Кафки имеют поле CRC. Если запись в файле журнала повреждена (например, один бит в середине сообщения переворачивается), что я ожидаю увидеть в приложении потоков в случае:

  • Тема реплицирована
  • Тема не реплицируется

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

  • Базовая инфраструктура обнаруживает ошибку CRC и получает ее от другого брокера
  • Исключение DeserializationExceptionHandler начинает
  • Возникает какая-то другая ошибка, и топология падает или сообщение пропускается в соответствии с политикой

1 Ответ

0 голосов
/ 05 сентября 2018

В случае ошибок CRC в приложении Streams должно возникать исключение при попытке десериализации записей. И, таким образом, DeserializationExceptionHandler начинается.

В Kafka все операции чтения / записи обрабатываются руководителем раздела, а посредники-посредники только пассивно реплицируют данные в фоновом режиме и не обслуживают клиентов для чтения / записи.

...