开发者社区 > 云效DevOps > 正文

在云效机器A、B发布第一次发布A 停了服务启动失败 后续发布时如果B机器先执行 那不就会出问题吗?

在云效例如2个节点 机器A、B发布 第一次发布A 停了服务启动失败 后续发布或者回滚的时候如果是B机器先执行 那不就会出问题吗?

展开
收起
三分钟热度的鱼 2023-11-08 18:22:59 26 0
3 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    的确,你提出的这种情况可能发生。为了避免这种问题,在实践中可以通过以下两种方式避免:

    • 健康检查:每次发布之前,执行一次检查来确保节点处于正常状态。只有当节点正常才能继续进行下一步。
    • 优先部署更新:在部署过程中,可以优先处理那些已知是正常的节点。如果节点A有问题,则应该跳过它,优先部署节点B。这样可以确保只有一个稳定的节点存在,防止多节点同时出现问题的情况。
    2023-11-10 14:29:10
    赞同 展开评论 打赏
  • 这种情况确实可能会出现问题,因为你是在不同的服务器上进行的发布,而且没有保证发布的顺序。这可能会导致服务的不稳定和不一致的状态。

    为了解决这个问题,你可以考虑以下几种方法:

    1. 在发布之前,先停止服务。这样可以保证在同一时间只有一个服务器在进行发布操作,从而避免了服务的不稳定和不一致的状态。

    2. 使用发布队列或者发布锁。你可以将所有的发布操作都放入到一个队列中,然后按照一定的顺序进行发布。这样,无论哪个服务器先执行发布操作,都可以保证服务的稳定性。

    3. 使用一致性哈希。一致性哈希是一种可以在多个服务器之间平衡负载的方法,它可以保证在任何时刻,任何请求都会被发送到同一台服务器进行处理。这样,即使你在不同的服务器上进行发布操作,也不会影响服务的稳定性。

    总的来说,为了保证服务的稳定性,你需要在你的发布流程中加入一些同步和控制的机制。

    2023-11-09 16:08:27
    赞同 展开评论 打赏
  • 您的A机器发布失败之后,建议回退,快速恢复环境到上次可用状态
    如果回滚的话是按照原先的配置重新运行的。此回答整理自钉群“云效交付域答疑群”

    2023-11-08 18:51:58
    赞同 展开评论 打赏
问答分类:
问答地址:

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

相关电子书

更多
云效助力企业软件供应链生产效能提升 立即下载
云效 DevOps 客户案例集(公共云) 立即下载
云效 立即下载