Kafka-streams 损坏消息处理语义

Kafka-streams corrupt message-handling semantics

我注意到 Kafka 记录有一个 CRC 字段。如果日志文件中的记录损坏(例如,消息中间的一位被翻转),在以下情况下,我希望在流应用程序中看到什么:

由于我们使用的是 Avro,我可以想象会发生以下情况之一:

对于 CRC 错误,当您的 Streams 应用程序尝试反序列化记录时,应该在您的 Streams 应用程序中抛出异常。因此,DeserializationExceptionHandler 开始了。

在 Kafka 中,所有 read/writes 都由 partition leader 处理,follower broker 仅在后台被动复制数据,不服务任何来自客户端的 read/write。