副本感知路由 (私有预览)
副本感知路由(也称为粘性会话、粘性路由或会话亲和性)利用 Envoy 代理的环哈希负载均衡。副本感知路由的主要目的是增加缓存重用的机会。它不保证隔离。
在为服务启用副本感知路由时,我们允许在服务主机名之上使用通配符子域名。对于主机名为 abcxyz123.us-west-2.aws.clickhouse.cloud
的服务,您可以使用任何匹配 *.sticky.abcxyz123.us-west-2.aws.clickhouse.cloud
的主机名来访问该服务
主机名示例 |
---|
aaa.sticky.abcxyz123.us-west-2.aws.clickhouse.cloud |
000.sticky.abcxyz123.us-west-2.aws.clickhouse.cloud |
clickhouse-is-the-best.sticky.abcxyz123.us-west-2.aws.clickhouse.cloud |
当 Envoy 接收到与此类模式匹配的主机名时,它将根据主机名计算路由哈希,并根据计算出的哈希在哈希环上找到相应的 ClickHouse 服务器。假设服务没有正在进行的更改(例如服务器重启、横向扩展/缩减),Envoy 将始终选择同一 ClickHouse 服务器进行连接。
请注意,原始主机名仍将使用 LEAST_CONNECTION
负载均衡,这是默认路由算法。
副本感知路由的局限性
副本感知路由不保证隔离
对服务的任何中断,例如服务器 pod 重启(由于版本升级、崩溃、垂直扩展等任何原因)、服务器横向扩展/缩减,都将导致路由哈希环中断。这将导致与同一主机名的连接落在不同的服务器 pod 上。
副本感知路由无法与私有链接开箱即用
客户需要手动添加 DNS 条目,以使新主机名模式的名称解析工作。如果客户使用不当,这可能会导致服务器负载不均衡。
配置副本感知路由
要启用副本感知路由,请联系我们的支持团队。