我发布消息到一个kafka主题(outputTopic)中,以一种我的订阅者可以理解的格式。我现在希望以某种方式修改这些消息的格式,而这样做将打破现有的主题消费者。 例如,我发布对象,以json格式序列化,但需要更改对象,因此也要更改架构。 管理这种类型的更改的最佳方法是什么?我应该修改生产者,让它发布到一个新主题(outputTopic2)吗?还有其他更好的管理方式吗?
Avro模式不能解决这个问题。无论是否有模式,您都可以更新消费者以处理旧版本和新版本。 相反,请保持生产者不变。部署一个更新的版本,从同一数据源读取数据,并使用新的更新格式将数据发布到新主题中。 在最终删除旧主题之前,允许消费者从旧版本迁移到新版本。