gpt4 book ai didi

java - 如何使用 kafka 模式管理和 Avro 进行重大更改

转载 作者:行者123 更新时间:2023-12-02 04:51:56 26 4
gpt4 key购买 nike

使用 avro 进行 kafka 模式管理为我们提供了向后兼容性的灵 active ,但是我们如何处理模式中的重大更改?

假设生产者A向消费者C发布消息M

假设消息 M 的方案发生了重大变化(例如,名称字段现在分为名字和姓氏),并且我们有新的方案 M-New

现在我们正在部署生产者 A-New 和消费者 C-New

问题是,在我们的部署过程完成之前,我们可以让生产者 A-new 发布消息 M-new,而消费者 C(旧的)将收到 M-new,因此我们可能会丢失消息。

因此,做到这一点的唯一方法是同步新生产者和消费者的部署,这会增加大量开销

有什么建议如何处理吗?

最佳答案

一个简单的方法是为您的主题设置较长的保留期。然后,您只需为重大更改创建一个新主题。所有消费者都可以在保留期内转移到新主题而不会丢失消息。

关于java - 如何使用 kafka 模式管理和 Avro 进行重大更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56432184/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com