繁体   English   中英

Kafka 主题消息版本控制

[英]Kafka Topic Message Versioning

我以订阅者可以理解的格式将消息发布到 kafka 主题 (outputTopic)。 我现在希望以打破现有主题消费者的方式修改这些消息的格式。

例如,我发布对象,以 json 格式序列化,但需要更改对象,因此需要更改架构。

管理此类变更的最佳方法是什么? 我是否应该更改生产者,以便它发布到新主题 (outputTopic2)? 有没有更好的方法来管理这个?

根据我的说法,一种干净的方法是使用Schema registry / Apache Avro 根据您使用它的方式,它将帮助您保证向后/向前兼容性。

Avro 模式不会解决问题,除非让消费者同时处理旧的和新的模式版本——这绝对是矫枉过正,然后完全否定了对 avro 的需求。

相反,请保持您的制作人原样。 部署从同一数据源读取的更新版本,并将数据发布到具有新更新格式的新主题。

允许消费者在最终杀死旧版本之前从旧版本迁移到新版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM