2

这个问题可能不像你想象的那么重要。首先,感谢您的阅读。我是一名计算机科学专业的学生。我刚刚开始了解 AWS,尤其是 Route 53,所以如果有任何伤害您的眼睛,请原谅我 :)

我们都知道,Amazon Route 53 为客户提供了跨多个可用区和区域将用户路由到 EC2 实例、S3 存储桶和弹性负载均衡器的能力,并且有不同形式的 DNS 负载均衡,包括:

  • LBR/基于延迟的路由,路由到延迟最低的区域
  • WRR/加权循环,为不同的目标分配权重

此外,结合两者的用户指定配置也是可能的 (LBR+WRR)。

Route 53 的灵活性使用户能够节省成本,但是对于最终用户而言,手动配置可能变得越来越复杂。寻找最佳的非概率策略(例如 WRR 权重)是 NP 完全的。

我们需要为服务器 IP 地址赋予不同权重的可能情况是什么?鉴于可以有跨多个可用区的 EC2 服务器,并且实例可以同时包含前端和后端,或者仅包含应用程序层或数据库?有没有什么想法可以更好地结合其他 AWS 服务使用 Route 53,以提高交互式多层云应用程序的性能?

很抱歉这个冗长的问题。我正在寻找有关尝试更好地使用 Route 53 以及结合其他 AWS 服务以实现多层云应用程序的最佳方式/起点的想法和想法。不一定是 100% 正确的答案。欢迎任何想法或建议。提前谢谢了 !

更新:

我可能应该重新表述这个问题:在 Route 53 中(即在 DNS 服务中)设置加权记录的目的是什么?显然,DNS 中的 WRR 可以控制部分流量,但如果我们仅仅依靠这种 DNS 负载平衡(或负载分配),我们将把繁重的工作负载放在许多其他 DNS 服务器上。我可以想到的一种情况是,像 google 或 Facebook 这样的网站可能会获得大量的域名查询,WRR DNS 负载平衡可能很有用,并且必须存在某种会话粘性,因为跨服务器共享会话似乎是一种馊主意。

在 Route 53 中使用加权记录是否有任何其他方式/目的。

非常感谢您考虑我的问题!

4

2 回答 2

5

另一个需要考虑的用例是前端或后端服务的 A/B 测试。让我来说明一下:假设我们刚刚对 Web 应用程序的 1.0.1 版本进行了 CI 测试(在 Docker 容器中运行),并且我们已经部署了容器,但我们还没有将流量路由到它。我们不想打开开关,立即将我们的 100 万每日活跃用户(哇哦!)转储到 v1.0.1,直到我们可以对其进行一些实际测试。因此,我们决定使用 Route 53 中提供的加权循环负载平衡将 0.25% 的用户发送到 v1.0.1 容器,让我们在切换之前与真实用户一起体验新版本。我们几乎可以对任何使用主机名查找来查找资源的服务做同样的事情。

于 2016-03-23T18:19:39.467 回答
0

一个用例是,使用它来负载平衡无法使用弹性负载平衡器平衡的内部服务,例如 rds 或弹性缓存只读副本,而不是使用 haproxy 创建 ec2 实例来进行负载平衡您的服务,您可以根据权重或延迟创建 Route 53 级别的平衡器。

我的猜测是,在内部,他们在 dns 服务器上使用自定义负载平衡器,根据域别名和所选平衡策略平衡请求。

于 2014-09-17T17:47:53.520 回答