欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

简单易懂!掌握四种主流微服务部署方法:蓝绿切换、滚动更新、灰度测试与金丝雀式发布

最编程 2024-07-25 07:58:19
...
  • 定义
    蓝绿部署是不停老版本部署新版本然后进行测试确认OK将流量切到新版本然后老版本同时也升级到新版本
  • 特点
    蓝绿部署无需停机,并且风险较小
  • 布署过程
    第一步、部署版本1的应用(一开始的状态)
    所有外部请求的流量都打到这个版本上。
    在这里插入图片描述
    第二步、部署版本2的应用
    版本2的代码与版本1不同(新功能、Bug修复等)。
    第三步、将流量从版本1切换到版本2。
    在这里插入图片描述
    第四步、如版本2测试正常,就删除版本1正在使用的资源(例如实例),从此正式用版本2。
  • 小结
    从过程不难发现,在部署的过程中,我们的应用始终在线。并且,新版本上线的过程中,并没有修改老版本的任何内容,在部署期间,老版本的状态不受影响。这样风险很小,并且,只要老版本的资源不被删除,理论上,我们可以在任何时间回滚到老版本。
  • 蓝绿发布的注意事项
    • 当你切换到蓝色环境时,需要妥当处理未完成的业务和新的业务。如果你的数据库后端无法处理,会是一个比较麻烦的问题。
    • 可能会出现需要同时处理“微服务架构应用”和“传统架构应用”的情况,如果在蓝绿部署中协调不好这两者,还是有可能会导致服务停止。
    • 需要提前考虑数据库与应用部署同步迁移 /回滚的问题。
    • 蓝绿部署需要有基础设施支持。
    • 在非隔离基础架构( VM 、Docker 等)上执行蓝绿部署,蓝色环境和绿色环境有被摧毁的风险。