加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

elastic-beanstalk – 如何通过Elastic Beanstalk部署(包括数据

发布时间:2020-12-12 06:42:43 所属栏目:MsSql教程 来源:网络整理
导读:我已经阅读了有关 Deploying Versions with Zero Downtime的AWS文档,即CNAME交换. 正如yegor256在this answer中解释的那样: The only thing that it does is just exchanging of two CNAMEs. For example,you have one environment foo-1 with CNAME foo-1.e
我已经阅读了有关 Deploying Versions with Zero Downtime的AWS文档,即CNAME交换.

正如yegor256在this answer中解释的那样:

The only thing that it does is just exchanging of two CNAMEs. For example,you have one environment foo-1 with CNAME foo-1.example.com,and another one foo-2 with CNAME foo-2.example.com. After swap operation environment foo-1 will respond at 07003.

所以问题是,你不是直接切换整个流量,而只是新流量.现有流量将继续使用之前的CNAME条目达TTL秒,使得两个版本在这么短的时间内共存(300秒,或更多according to Arun Kumar).

当两个版本的应用程序可以共存时,这看起来是可以接受的.

但是,我们的应用程序的某些版本包括数据库补丁,必须在旧版本取出后立即运行,并且在新版本引入之前.

因此,看起来CNAME交换对我们正在做的事情来说还不够好,因为旧的应用程序版本会在数据库修补后中断.

理想情况下,我想:

>始终保持相同的弹性负载均衡器
>让Elastic Beanstalk使用新的应用版本启动一个或多个实例
>从ELB中删除现有实例(使用旧的应用程序版本)
>修补数据库
>将刚刚启动的实例(使用新的应用程序版本)添加到ELB

只有在需要应用补丁时,这才能将停机时间缩短到503 Service Unavailable的几秒钟.

那可能吗?或者我没有正确看到整个画面,我错过了一个更简单的解决方案吗?

解决方法

以下是一些可用于在Elastic Beanstalk上执行零停机部署的其他策略: http://www.hudku.com/blog/demystified-zero-downtime-with-amazon/

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读