docker - Kafka微服务升级最好最简单的方法是什么

标签 docker kubernetes deployment apache-kafka

关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

1年前关闭。




Improve this question




我们在 env 中使用了 confluent kafka 4.0.0 作为微服务,我们希望将其升级到 5.5.1 版本,类似于 zookeeper 和 kafka Rest。
我们运行 kafka broker 和 zookeeper 作为 statefulsets,而 kafka rest 作为部署。
使用回滚程序进行此升级的最佳方法是什么?

  1. Upgrading the image tag to the version 5.5.1 on the running sts and deployments and change all the configurations under the same namespace.

或者
  1. Creating all the kafka components in a new namespace with upgraded version and new configuration on it and simply route the traffic here by changing the ingress load balancer.

从这些方法中升级的最佳方法是什么?也让我知道是否有其他方法可以做到这一点。

最佳答案

我们正在做第二种方式:

  • 启动新的 kafka
  • 启动一组新的 worker 来听新的 kafka
  • 注入(inject)消息以测试worker-kafka集成
  • 启动新的应用程序堆栈以提供新的 kafka
  • 注入(inject)流量以测试 app-kafka-workers 集成
  • 将流量切换到新堆栈

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

    关于docker - Kafka微服务升级最好最简单的方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64098458/

    相关文章:

    tomcat - 如何使用 Ant 的 DeployTask 将 Web 应用程序部署到 Tomcat?

    mysql - 如何将启动脚本添加到 mysql docker 容器?

    c# - COPY失败:构建上下文之外的禁止路径:../API.Common.AspNetCore/API.Common.AspNetCore.csproj()

    Kubernetes:Prometheus 上下文期限超过错误

    ssl - 点燃 pod 之间的 TLS 通信

    ruby-on-rails-3 - 设置为:deploy_via, :remote_cache not working set :keep_releases, 5

    mysql - 如何杀死mysql进程

    ruby-on-rails - Webpacker 在 Docker/Rails 设置中找不到一些 node_modules

    kubernetes - 将外部节点添加到 GCP Kubernetes 集群

    ruby-on-rails - 将 Tomcat 用于 Jruby Rack 应用程序有哪些替代方案?