You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Envoy仅针对新连接进行TCP流量切换的可行性咨询

可以实现,具体方案如下

完全可以通过Envoy的加权集群配置实现你要的效果,核心逻辑是:Envoy的加权路由只对新发起的连接生效,已建立的活跃WebSocket长连接不会被强制中断,会持续保持到连接自然关闭。

具体配置步骤

  • 确保你已经在Envoy中定义了cluster_a和cluster_b两个集群,且cluster_b的健康检查状态正常
  • 调整路由配置中的加权规则,将cluster_a的权重设为0,cluster_b的权重设为100。示例配置片段如下:
route_config:
  name: tcp_route
  virtual_hosts:
  - name: tcp_service
    domains: ["*"]
    routes:
    - match: { prefix: "/" }
      route:
        weighted_clusters:
          clusters:
          - name: cluster_a
            weight: 0
          - name: cluster_b
            weight: 100

关键注意事项

  • 权重调整后,所有新发起的TCP/WebSocket连接都会被路由到cluster_b,而已经在cluster_a上的活跃连接不受影响,会继续保持直到客户端主动断开或连接超时
  • 不要急于删除cluster_a的配置,需要持续监控cluster_a的活跃连接数,直到所有连接都自然耗尽后,再移除相关配置
  • 如果需要更平滑的过渡(比如部分新连接先切到B),可以逐步降低cluster_a的权重(比如从100→50→0),但你的需求是直接切所有新连接到B,直接设权重0即可

内容的提问来源于stack exchange,提问作者Brinal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 04:12:01