gpt4 book ai didi

java - 微服务架构零停机部署

转载 作者:搜寻专家 更新时间:2023-10-31 20:32:33 24 4
gpt4 key购买 nike

目前我正在开发一个基于微服务架构的应用程序。作为主要技术,我们计划在每个微服务开发中使用 Spring Boot 和 Docker。目标之一是为用户提供零停机部署功能。

我花了一些时间试图找到一些解决方案并了解 Blue Green Deployment (BGD) 但有些方面对我来说仍然不清楚。主要问题是数据库状态和版本兼容性。

For example if BGD is used how to migrate all the data changes from Green to Blue contour after successful deployment?

我在 Spring 的 Zero Downtime Deployment with a Database 中发现了一个有趣的方法文章,但我认为这种方法有过于复杂的应用程序版本和发布计划过程和向后兼容性要求。

所以我想问以下问题:

  1. 对零停机部署流程概念有何建议,并以实际使用经验为依据?
  2. 是否有任何开箱即用的解决方案(付费或免费)可以为具有关系数据库的应用程序提供零停机部署功能?

附言

零停机时间部署在 StackOverflow.com 中的工作原理很有趣吗?

最佳答案

来自那篇文章:

  • maintain two copies of your production environment (“blue” and “green”)
  • route all traffic to the the blue environment by mapping production URLs to it;
  • deploy and test any changes to the application in the green environment;
  • “flip the switch” by mapping URLs onto green and unmapping them from blue.

如果您拥有设备并设置了良好的部署流程,实际上并没有那么困难。如果您设置了安全机制以便用户不需要在蓝色环境中启动新 session ,那么痛苦几乎完全在于配置并确保蓝色环境处于您想要的完美状态成为。之后,只需进入负载均衡器的配置并将设置翻转为指向蓝色环境即可。

但是一旦启动并运行“绿色”和“蓝色”,就可以来回翻转。理想情况下,一旦验证了蓝色,就立即升级绿色。此外,请确保您在两个环境之间共享数据库操作,以便在蓝色失败时绿色也可以作为蓝色的后备。

诚然,我在规划和帮助这方面的经验是在 Hadoop 上进行的,您通常有一个正式的数据摄取管道,可以轻松配置它以将所有新数据提供给两个完全独立的环境。

关于java - 微服务架构零停机部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39913816/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com