在 AWS 上使用 WebSocket 实现的 Web 服务上的蓝绿部署
Posted
技术标签:
【中文标题】在 AWS 上使用 WebSocket 实现的 Web 服务上的蓝绿部署【英文标题】:Blue-green deployment on Web Service with WebSocket Implementation on AWS 【发布时间】:2016-08-08 00:30:04 【问题描述】:我目前正在为几个 Web 服务实现 Web 套接字。但想知道这种有状态的 http 连接将如何影响 AWS 上的蓝绿部署和自动扩展。
正在谷歌搜索,但没有发现任何东西。非常感谢任何建议/意见。
【问题讨论】:
【参考方案1】:使用连接耗尽(将所有新请求发送到您想要的环境 - 例如绿色)并为蓝色客户端留出时间。
您可以设置 websocket 的最大生命周期(如果需要这种可靠性,连接耗尽期应该比最大生命周期长)
否则只会处理客户端。如果 websocket 断开,则通过您的 AWS ELB 启动新连接到健康的服务器。不要在临时 ELB 后端保留任何状态。在 AWS 上缩减规模时,这也适用。
【讨论】:
“如果需要这种可靠性,连接耗尽期可能会比最大时间长”...我假设总是需要这种可靠性。以上是关于在 AWS 上使用 WebSocket 实现的 Web 服务上的蓝绿部署的主要内容,如果未能解决你的问题,请参考以下文章
如何在 AWS Elastic Beanstalk 服务器上使用 nginx 启用 WebSocket?
迁移到纯 websocket 后,我在 AWS Appsync 上收到 GraphQL 订阅错误
无法使用 Forge、nginx 和 AWS 连接到 Laravel Websocket