在云效例如2个节点 机器A、B发布 第一次发布A 停了服务启动失败 后续发布或者回滚的时候如果是B机器先执行 那不就会出问题吗?
的确,你提出的这种情况可能发生。为了避免这种问题,在实践中可以通过以下两种方式避免:
这种情况确实可能会出现问题,因为你是在不同的服务器上进行的发布,而且没有保证发布的顺序。这可能会导致服务的不稳定和不一致的状态。
为了解决这个问题,你可以考虑以下几种方法:
在发布之前,先停止服务。这样可以保证在同一时间只有一个服务器在进行发布操作,从而避免了服务的不稳定和不一致的状态。
使用发布队列或者发布锁。你可以将所有的发布操作都放入到一个队列中,然后按照一定的顺序进行发布。这样,无论哪个服务器先执行发布操作,都可以保证服务的稳定性。
使用一致性哈希。一致性哈希是一种可以在多个服务器之间平衡负载的方法,它可以保证在任何时刻,任何请求都会被发送到同一台服务器进行处理。这样,即使你在不同的服务器上进行发布操作,也不会影响服务的稳定性。
总的来说,为了保证服务的稳定性,你需要在你的发布流程中加入一些同步和控制的机制。
您的A机器发布失败之后,建议回退,快速恢复环境到上次可用状态
如果回滚的话是按照原先的配置重新运行的。此回答整理自钉群“云效交付域答疑群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。