我注意到Kafka记录有一个CRC字段。如果日志文件中的记录损坏(例如,消息中间的一个位被翻转),在以下情况下,我期望在流应用程序中看到什么:
由于我们使用Avro,我可以想象出现以下情况之一:
对于CRC错误,当Streams应用程序尝试对记录进行反序列化时,应该抛出异常。因此,DeserializationExceptionHandler开始了。
DeserializationExceptionHandler
在Kafka中,所有读/写都由分区负责人处理,并且跟随者代理仅在后台被动地复制数据,并且不向客户端提供任何读/写。