【问题标题】:AWS EC2 update without downtime无需停机即可更新 AWS EC2
【发布时间】:2016-01-11 18:51:10
【问题描述】:

我是否可以在不停机的情况下在 EC2 中更新我的应用程序?或者像暂停但不重启之类的东西

【问题讨论】:

  • 问题太宽泛了。您应该详细说明您的应用外观以及您尝试部署的方式

标签: amazon-web-services amazon-ec2


【解决方案1】:

AWS Elastic Beanstalk 可以用来实现这一点。

正如here 所述,这个想法是用您的应用程序的最新版本创建一个新环境,并在部署后交换当前生产环境和新部署的生产环境的 CNAME,从而实现零停机时间。

【讨论】:

    【解决方案2】:

    如果您只有一个 EC2 实例并且您的应用程序是 Web 应用程序,您可以将您的应用程序 dockerize 并使用任何 Web 代理在 docker 容器之间进行切换,并且停机时间为零。

    假设您的应用位于 docker 容器 A 中:

    Internet --> Nginx Proxy --> Container A
    

    更新应用时,需要将其部署在新的容器 B 上:

    Internet --> Nginx Proxy --> Container A
                                 Container B
    

    重新配置你的代理切换到容器B,在Nginx中,你可以service nginx reload而不杀死Nginx:

    Internet --> Nginx Proxy     Container A
                            `--> Container B
    

    移除旧容器 A:

    Internet --> Nginx Proxy --> Container B
    

    而且,您的部署时间为零。

    看看我在https://stackoverflow.com/a/33085105/3427434 中的回答。那里的脚本和我在这里所说的一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-23
      相关资源
      最近更新 更多