【问题标题】:What is the best and simple approach of Kafka microservice upgrade [closed]Kafka微服务升级最好最简单的方法是什么[关闭]
【发布时间】:2021-01-13 19:35:44
【问题描述】:

我们在 env 中使用了 confluent kafka 4.0.0 作为微服务,我们希望将其升级到 5.5.1 版本,类似于 zookeeper 和 kafka Rest。 我们将 kafka broker 和 zookeeper 作为 statefulsets 运行,而 kafka rest 作为部署运行。

在启用回滚过程的情况下进行此升级的最佳方法是什么?

  1. 在运行的sts和deployments上将image标签升级到5.5.1版本并更改相同下的所有配置 命名空间。

  1. 在具有升级版本和新配置的新命名空间中创建所有 kafka 组件,并在此处简单地路由流量 通过更改入口负载平衡器。

从这些方法中升级的最佳方法是什么?如果有其他方法也可以告诉我。

【问题讨论】:

    标签: docker kubernetes deployment apache-kafka


    【解决方案1】:

    我们正在做第二种方式:

    1. 启动新的 kafka
    2. 启动新的一组工人来听新的 kafka
    3. 注入消息以测试worker-kafka 集成
    4. 为新的 kafka 启动新的应用程序堆栈
    5. 注入流量以测试 app-kafka-workers 集成
    6. 将流量切换到新堆栈

    这比实时升级更安全,因为它允许您在所有阶段进行验证/调试。

    【讨论】:

    • Kafka 有非常详细的升级步骤。你这里不改日志版本吗?
    • 我什至不知道 :) 我以这种方式进行了主要和次要升级
    • 好吧,如果您使用现有数据启动新的 kafka,但它只能读取新格式化的日志文件,它将无法启动,那么您是否保留旧数据?
    • 不,我们将其用作队列。我开始喂新的卡夫卡,等到旧卡夫卡处理完毕后再终止旧工人和卡夫卡。
    • 我明白了。那为什么要用 kafka 而不是真正的消息队列呢?
    猜你喜欢
    • 1970-01-01
    • 2016-02-15
    • 2010-09-20
    • 2022-09-26
    • 2011-06-29
    • 2012-05-08
    • 2010-10-20
    • 2010-09-16
    • 1970-01-01
    相关资源
    最近更新 更多