将请求路由到 EC2 上正确的应用程序服务器版本的最佳实践

将请求路由到 EC2 上正确的应用程序服务器版本的最佳实践

我正在跟进此程序将新版本的应用程序部署到 EC2。当新版本稳定后,我会更新 DNS 条目的 A 记录,以将流量路由到新服务器的 IP 地址。

我猜这不是最佳做法,特别是因为您不能确定所有访问者的 DNS 现金何时更新了条目,以便您可以将旧版本脱机。

有没有最佳实践?我是否必须创建一个具有自己的 IP 地址的服务器,以便配置路由(昂贵)?或者我可以利用托管服务提供商的服务来做到这一点?或者是否有特定于 AWS 的解决方案?

答案1

有很多不同的方法可以无缝部署应用程序的新版本。

要使用现有的方法,您只需确保在进行转换之前已降低 DNS 记录的 TTL。

  • 将 TTL 更改为 5 分钟
  • 等待原始TTL值的总时间
  • 进行 DNS 更改
  • 5 分钟 TTL 到期后,大多数解析器都应更新更改

虽然不是完全无缝,但是相当常见。

答案2

好的,这是一个很老的问题,我现在第一次看到......

我更新 DNS 条目的 A 记录以将流量路由到新服务器的 IP 地址。

您说得对,由于 DNS 缓存,这将导致未知比例的用户仍使用旧版应用程序。如果您关注phoebus 的切实建议,可能用户会很少——但 AWS 上仍有更好的方法。

或者是否有特定于 AWS 的解决方案?

是的,我在你链接的原始答案中提到了这一点。亚马逊的弹性 IP 地址如果您对每个服务仅使用一个 IP 地址;或者弹性负载平衡如果您正在使用一组服务器。

弹性 IP 通常会在几秒钟内切换,根据我的经验,不到 10 秒。

相关内容