11.10. 第 7 层负载平衡策略位置
对于 Red Hat OpenStack Platform (RHOSP)负载均衡服务(octavia),当多个第 7 层(L7)负载平衡策略与监听程序关联时,策略位置参数的值会变得很重要。position 参数在决定 L7 策略的评估顺序时使用。策略位置会影响监听程序行为,如下所示:
在负载均衡服务(haproxy amphorae)的参考实现中,HAProxy 会强制执行以下有关策略操作的顺序:
-
REJECT策略优先于所有其他策略。 -
REDIRECT_TO_URL策略优先于 REDIRECT_TO_POOL 策略。 -
REDIRECT_TO_POOL策略仅在上述所有后评估,并按策略指定的位置的顺序进行评估。
-
- L7 策略按照特定顺序进行评估,由 position 属性定义,第一个与给定请求匹配的策略是其操作后的操作。
- 如果没有与给定请求匹配的策略,则请求将路由到侦听器的默认池(如果存在)。如果侦听器没有默认池,则返回 503 错误。
-
策略位置编号以
1开头。 - 如果创建了一个与现有策略匹配的位置的新策略,则新策略将插入到给定的位置。
- 如果在没有指定位置的情况下创建新策略,或者指定大于列表中策略数量的位置,则新策略会附加到列表中。
-
当策略插入、删除或附加到列表中时,策略位置值会在不跳过数字的情况下从一个(
1)重新排序。例如,如果策略 A、B 和 C 分别具有1、2和3的位置值(如果您从列表中删除策略 B),策略 C 的位置将变为2。