【问题标题】:Amazon Route 53 green-blue deploymentAmazon Route 53 绿蓝部署
【发布时间】:2018-10-23 14:37:11
【问题描述】:

目前我正在尝试使用 AWS Route 53 实施绿色/蓝色部署。有一些简单的 Web、rest 应用程序在自定义 EC2 实例上运行,都在负载均衡器后面。 Web 和 rest 部署在同一个域 DNS 上。

我想使用带权重的流量策略(部署绿蓝色),因为端点使用不同的应用程序负载均衡器(绿色、蓝色)。

我想知道,同一用户的每个请求是否总是转发到同一个负载均衡器?我不想以用户在旧版本中获取 webapp 并且 Api 调用被转发到新版本的情况结束。

【问题讨论】:

    标签: amazon-web-services amazon-route53


    【解决方案1】:

    您可以将 Route 53 用于蓝/绿部署,但这不是一个好的解决方案。原因是 DNS 缓存和 TTL。 DNS 客户端进行新的 DNS 查询需要时间。这意味着更改交通路线可能需要不可预知的时间。

    Route 53 对客户一无所知。 Route 53 不会查看 HTTP 标头来评估会话变量、客户端 cookie 等。但是,由于 DNS 缓存,客户端很可能(不能保证)在一段时间内继续使用相同的已解析端点。那段时间是多少?未知,因为它需要了解客户端上的 DNS 解析器、客户端等待重新解析 DNS 条目的时间以及分配给 Route 53 资源记录的 TTL 值。

    您的问题:“我想知道,同一用户的每个请求是否总是转发到同一个负载均衡器?”

    答案是否定的,也许,有时但不是以可预测或可重复的方式。

    【讨论】:

    • 感谢您的回答!我看过很多关于绿色/蓝色的文章,主要是理论。哪些服务最适合 G/B 部署?有什么建议吗?
    • 答案取决于。我更喜欢在一个负载均衡器后面使用单独的自动缩放组,并进行大量监控。然后我们将当前版本的实例数量增加到 20 个。然后我们启动一个新版本的实例。这给了我们 5% 的比率。我们监控错误、性能问题等。然后我们在监控的同时一次升级新版本一个实例。当我们确信新版本没问题时,我们开始一次减少一个旧版本的实例。这实际上是自动化的。我们使用监控和指标向我们提供我们观察的警报。
    • 但也有新版本无法与旧版本同时共存的情况。大型数据库架构或 UI 更改就是一个例子。在这种情况下,我们复制环境并在监控时再次 100% 切换到新版本。任何问题,我们切换回来。以前的版本仍在运行,等待必要时回退。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-01
    • 2021-07-18
    • 1970-01-01
    • 2017-07-10
    • 2017-09-05
    • 2021-09-18
    • 1970-01-01
    相关资源
    最近更新 更多