UP | HOME

负载均衡

Table of Contents

在前面的章节当中有提到过利用 V2Ray 的一个特性来实现负载均衡

但是由于这种负载均衡是投机取巧利用配置实现的,最终的效果不尽如人意,也就在特殊情况下用一用而已,也有人认为这种轮询的机制压根算不上负载均衡

不过经过漫长的等待,V2Ray 终于可均衡负载了,但是可能 V2Ray 认为时机还不成熟,官方文档上并没有负载均衡方面的描述

配置

负载均衡的配置位于 routing 字段,仅需在 客户端 上配置即可:

  • 在 routing 当中,配置一个 balancers 数组 ,代表这负载均衡的 规则 :
    • 负载均衡唯一的 标签
    • 均衡策略(目前的策略好像只有随机选择)
    • 可选择的出站代理
  • 在路由规则中根据需要配置特定的流量进行负载均衡
{

    "inbounds": [
        ...
    ],
    "outbounds": [
        {
            "tag": "us1",
            ...
        },
        {
            "tag": "jp1",
            ...
        },
        {
            "tag": "jp2",
            ...
        },
        {
            "tag": "hk1",
            ...
        },
        {
            "tag": "direct",
            ...
        }
    ],
    "routing": {
        "domainStrategy": "IPOnDemand",
        "balancers": [
            {
                "tag": "b1",
                "selector": [
                    "jp1",
                    "jp2"
                ]
            },
            {
                "tag": "b2",
                "selector": [
                    "us1",
                    "hk1"
                ]
            }
        ],
        "rules": [
            {
                "type": "field",
                "outboundTag": "direct",
                "ip": [
                    "geoip:private",
                    "geoip:cn"
                ]
            },
            {
                "type": "field",
                "outboundTag": "direct",
                "domain": [
                    "geosite:cn"
                ]
            },
            {
                "type": "field",
                "network": "tcp,udp",
                "balancerTag": "b1"
            }
        ]
    }
}
在本例中,最后一个路由规则为负载均衡

根据示例可以知道目的地址是私有 IP 或中国大陆的流量直连,其余的所有流量是负载均衡 b1(即 在 jp1 和 jp2 两者之间选择)

没有使用到 b2 的负载均衡

从配置中可以看出,V2Ray 的负载均衡同样有着高度灵活的优点,可以针对指定的流量进行负载均衡,也可以按需配置多个负载均衡,不同底层传输配置的出站协议也可以负载均衡,可以说 V2Ray 的路由有多灵活那么它的负载均衡就有多灵活

可能是刚刚推出的原因,现在的均衡策略只有随机选择,随着时间的推进应该会陆续有其他的策略
Previous:禁用BT Home:路由