跳转到内容
搜索文档

路由流量

最后更新 查看 MarkdownAgent 设置

此前,我们介绍了请求如何从负载均衡器传送到存储池,然后再从存储池送到具体服务器。

然而,我们此前未提到的是负载均衡器和存储池 如何 做出这些决定。

这就是所谓的“路由”(routing)概念。

工作原理

通常,路由涉及以下五个核心问题:

  1. 默认情况下,负载均衡器如何将请求分发给存储池?
  2. 默认情况下,存储池如何将请求分发给具体服务器?
  3. 在一个存储池内,哪些服务器处于健康状态?
  4. 在一个负载均衡器内,哪些存储池处于健康状态?
  5. 是否存在任何专门的路由规则?

将请求分发到存储池

负载均衡器的 流量引导策略 (traffic steering policy) 控制负载均衡器如何将请求分发到存储池。

路由决策可以基于物理距离、存储池性能、地理位置等因素。

在存储池内分发请求

当请求到达存储池后,该存储池的 端点引导策略 (endpoint steering policy) 将控制该存储池如何将请求分发给池内的服务器。

这些决策可以基于发送给单台服务器的默认流量百分比(也称为 权重/Weight)、请求特征(例如源 IP 地址)或两者兼有。

端点健康状态

如果某个端点未通过健康检查(即被标记为不健康),其所属存储池将根据其端点引导策略调整路由。

新的与现有的请求都将流向存储池内的健康端点,自动忽略不健康的端点。

存储池健康状态

当不健康端点达到一定数量时,存储池本身也可能被判定为不健康。

当 pool 达到 Critical 健康状态时,负载均衡器将根据其流量导向策略开始分流流量:

  • Off

    • 如果活动 pool 变为不健康,流量会按顺序转到下一个 pool。
    • 如果非活动 pool 变为不健康,流量仍会继续发往活动 pool(但在故障转移顺序中会跳过不健康的 pool)。
  • 所有其他方法:流量根据流量导向策略分配到所有剩余 pool。

后备存储池 (Fallback pools)

通常,负载均衡器会设置一个称为 后备存储池 (Fallback Pool) 的特殊存储池,在任何情况下均可接收流量。

此 pool 旨在作为最后手段 pool,意味着在定向流量时不考虑其健康状态。

Fallback pool 很重要,因为即使所有 pool 都不可达(已禁用或不健康),流量仍可能到达负载均衡器。负载均衡器需要将这些流量路由到某处,因此会将其发送到 fallback pool。

专门路由

最后,特定设置也会影响负载均衡器分发流量的方式,例如:

  • 基于请求的 具体特征 进行路由。
  • 将来自 特定终端用户 的所有请求发送到同一台服务器,以保留其用户会话信息(如购物车中的商品)。

这篇文档对您有帮助吗?