Amazon web services AWS中滚动、使用附加批处理和不可变部署的滚动之间的区别?
我正在使用elastic beanstalk来处理部署。 我阅读了关于这些部署选项的解释,但不太清楚。 有人能用更简单的话解释一下吗?我正在尝试构建一个nodejs部署系统 任何帮助都将不胜感激Amazon web services AWS中滚动、使用附加批处理和不可变部署的滚动之间的区别?,amazon-web-services,amazon-elastic-beanstalk,Amazon Web Services,Amazon Elastic Beanstalk,我正在使用elastic beanstalk来处理部署。 我阅读了关于这些部署选项的解释,但不太清楚。 有人能用更简单的话解释一下吗?我正在尝试构建一个nodejs部署系统 任何帮助都将不胜感激 谢谢 我想这会有点帮助 不可变–首先将应用程序代码部署到一个新创建的EC2实例。在第一个实例上成功部署后,将创建创建并行震源组所需的剩余实例数,并向其部署应用程序代码。在整个并行机队上部署成功后,运行旧应用程序版本的实例一次终止25%。此部署策略可确保部署失败的影响最小(即:单个EC2实例),并使您的应
谢谢 我想这会有点帮助 不可变–首先将应用程序代码部署到一个新创建的EC2实例。在第一个实例上成功部署后,将创建创建并行震源组所需的剩余实例数,并向其部署应用程序代码。在整个并行机队上部署成功后,运行旧应用程序版本的实例一次终止25%。此部署策略可确保部署失败的影响最小(即:单个EC2实例),并使您的应用程序能够在正在进行的部署过程中满负荷服务流量 使用附加批处理—首先将应用程序代码部署到新创建的EC2实例的单个批处理中。在第一批实例上成功部署后,应用程序代码将分批部署到其余实例,直到最后一批实例保留。此时,最后一批实例被终止。此部署策略可确保部署失败的影响仅限于一批实例,并使您的应用程序能够在正在进行的部署过程中满负荷服务流量 滚动–首先将应用程序代码部署到一批现有EC2实例中。一旦第一批部署成功,应用程序代码将分批部署到其余实例。此部署策略可确保部署失败的影响仅限于单个批次。但是,由于在部署过程中没有创建新实例,您的应用程序可以以较低的容量提供流量服务(即:在部署过程中的任何给定时间,都有一批实例停止服务)。我发现比公认的答案更容易理解,因此下面是我的看法 按高风险到低风险排序,并将部署的版本
v1
调用到v2
:
- 一次全部:同时将所有
替换为v1
。未处理故障v2
- 金丝雀:部署并观察到
。如果成功,将立即部署所有剩余的v2
实例v2
- 滚动:用
实例一次替换一个v2
实例。注意失败v1
- 批量滚动:创建一些新的
实例。如果成功,则在v2
实例上展开。当所有实例都是v1
实例时,请缩回到原始大小v2
- 不可变:不更改
实例。创建相同数量的v1
实例。等待成功,然后停止v2
实例v1
- 蓝色/绿色:不要在现有的环境中操作,而是创建一个完全配置了
的新环境(网络等),并在准备就绪时切换v2