代码之家  ›  专栏  ›  技术社区  ›  Jon Bates

Kafka流损坏了消息处理语义

  •  0
  • Jon Bates  · 技术社区  · 7 年前

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

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

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

    • 反序列化异常处理程序启动
    • 根据策略,还发生了其他一些错误,拓扑结构被覆盖或消息被跳过
    1 回复  |  直到 7 年前
        1
  •  1
  •   Matthias J. Sax    7 年前

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

    在Kafka中,所有的读/写操作都由分区负责人处理,而follower代理只在后台被动地复制数据,不服务于来自客户机的任何读/写操作。