Kafka-streams破坏了消息处理语义

时间:2018-09-05 13:16:24

标签: apache-kafka apache-kafka-streams corruption

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

  • 主题已复制
  • 该主题未复制

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

  • 底层基础结构检测到CRC错误,并从其他代理获取该错误
  • DeserializationExceptionHandler启动
  • 根据策略,发生其他一些错误,拓扑崩溃或跳过消息

1 个答案:

答案 0 :(得分:1)

对于CRC错误,当它尝试反序列化记录时,应在您的Streams应用程序中引发异常。这样DeserializationExceptionHandler就开始了。

在Kafka中,所有读/写操作均由分区负责人处理,而追随者经纪人仅在后台被动复制数据,而不为客户端提供任何读/写操作。