帮助我们改善您的体验。

让我们了解您的想法。

您是否能抽出两分钟的时间完成一份问卷调查?

header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
云原生 Contrail 网络功能指南
Table of Contents Expand all
list Table of Contents
keyboard_arrow_right

机器翻译对您有帮助吗?

starstarstarstarstar
Go to English page
免责声明:

我们将使用第三方机器翻译软件翻译本页面。瞻博网络虽已做出相当大的努力提供高质量译文,但无法保证其准确性。如果对译文信息的准确性有任何疑问,请参阅英文版本. 可下载的 PDF 仅提供英文版.

负载均衡流量的粘性

date_range 20-Oct-23

从 Contrail 网络 23.2 版开始,CN2 支持流量粘性。流粘性有助于最大限度地减少负载平衡系统中等价多路径 (ECMP) 组之间的流重新映射。

传统的 ECMP 通过多个可用路径对流向目标的流量进行负载平衡。当一条路径发生故障(纵向扩展)或添加新路径(纵向扩展)时,流量将重新洗牌到可用路径数上。流粘性可减少被重新映射的流,并在 ECMP 组的成员更改时保留具有原始路径的流。当流受到成员更改的影响时,vRouter 会重新编程流表并重新平衡流。

图 1 显示了将新成员添加到 3 成员 ECMP 负载平衡系统时发生的流重新映射方案示例。

图 1:纵向扩展方案 Example of Scale-Up Scenario示例

在此示例中,流请求发送到 IP 地址:172.16.0.20。由于这三个成员组的虚拟 IP 地址为:172.16.0.20,因此 vRouter 会根据流哈希计算将请求发送到 pod1。将新成员 (pod4) 添加到同一虚拟 IP 组时,请求将被转移并根据流哈希重新计算重定向到 pod4。

流粘性可减少被重新映射的流,并通过新成员 (pod4) 保留到 pod1 的原始路径的流。如果添加 pod4 影响流,vRouter 会重新编程流表并使用 pod1 重新平衡流。

表 1 显示了纵向扩展和缩减方案的正常哈希和流粘性的预期结果。

表 1:预期结果:在 ECMP 组中添加或删除的成员
示例方案 正常(静态)哈希结果 流粘性结果
ECMP 组大小为 3。 根据流哈希,流量被定向到 pod1。 根据流哈希,流量被定向到 pod1。
向同一服务再添加一个 Pod。ECMP 组大小为 4。 可以重新分配流量,并且可以将流量重定向到另一个 Pod。 流量继续定向到 pod1。
从同一服务中删除一个容器。ECMP 组大小为 2。 可以重新分配流量,并且可以将流量重定向到另一个 Pod。 除非删除 pod1,否则流量将继续定向到 pod1。如果删除 pod1,则必须从客户端重新启动会话。
注意:

流粘性仅支持纵向扩展前后的 ECMP 流(从一个 Pod 纵向扩展到多个 Pod 时不会保持粘性)。我们建议您至少向 ECMP 组添加两个容器,然后纵向扩展。

footer-navigation