Skip to content

Commit b99deca

Browse files
authored
Balancer: Add more details to BalancerObject (#627)
1 parent 3ec0de8 commit b99deca

File tree

1 file changed

+54
-4
lines changed

1 file changed

+54
-4
lines changed

docs/config/routing.md

Lines changed: 54 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -220,11 +220,13 @@ Xray-core v1.8.7 或更高版本可省略该行。
220220
221221
一个字符串数组,其中每一个字符串将用于和 outbound 标识的前缀匹配。在以下几个 outbound 标识中:`[ "a", "ab", "c", "ba" ]``"selector": ["a"]` 将匹配到 `[ "a", "ab" ]`
222222

223-
如果匹配到多个 outbound,负载均衡器目前会从中随机选出一个作为最终的 outbound
223+
一般匹配到多个 outbound,使他们均衡的承担负载
224224

225225
> `fallbackTag`: string
226226
227-
如果负载均衡器无法选出合适的 outbound,则使用这个配置项指定的 outbound。
227+
如果根据连接观测结果所有 outbound 都无法连接,则使用这个配置项指定的 outbound。
228+
229+
注意:需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项
228230

229231
> `strategy`: [StrategyObject](#strategyobject)
230232
@@ -239,14 +241,62 @@ Xray-core v1.8.7 或更高版本可省略该行。
239241
240242
- `random` 默认值。随机选择匹配到的出站代理。
241243
- `roundRobin` 按顺序选择匹配到的出站代理。
242-
- `leastPing` 根据连接观测结果选择延迟最小的匹配到的出站代理。需要添加 [observatory](./observatory.md#observatoryobject) 配置项。
243-
- `leastLoad` 根据连接观测结果选择最稳定的出站代理。需要添加 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项。
244+
- `leastPing` 根据连接观测结果选择延迟最小的匹配到的出站代理。需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项。
245+
- `leastLoad` 根据连接观测结果选择最稳定的出站代理。需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项。
244246

245247
> `settings`: [StrategySettingsObject](#strategysettingsobject)
246248
247249
##### StrategySettingsObject
250+
248251
这是一个可选配置项,不同负载均衡策略的配置格式有所不同。目前只有 `leastLoad` 负载均衡策略可以添加这个配置项。
249252

253+
```json
254+
{
255+
"expected": 2,
256+
"maxRTT": "1s",
257+
"tolerance": 0.01,
258+
"baselines": ["1s"],
259+
"costs": [{
260+
"regexp": false,
261+
"match": "tag",
262+
"value": 0.5
263+
}]
264+
}
265+
```
266+
267+
> `expected`: number
268+
269+
负载均衡器选出最优节点的个数,流量将在这几个节点中随机分配。
270+
271+
> `maxRTT`: string
272+
273+
最高可接受的测速 RTT 时长。
274+
275+
> `tolerance`: float number
276+
277+
最多可接受的测速失败比例,例如 0.01 指可接受百分之一测速失败。(似乎未实现)
278+
279+
> `baselines`: \[ string \]
280+
281+
最高可接受的测速 RTT 标准差时长。
282+
283+
> `costs`: \[ CostObject \]
284+
285+
可选配置项,一个数组,可以给所有出站指定权重。
286+
287+
> `regexp`: true | false
288+
289+
是否用正则表达式选择出站 `Tag`
290+
291+
> `match`: string
292+
293+
匹配出站 `Tag`
294+
295+
> `value`: float number
296+
297+
权重值,值越大,对应节点越不易被选中。
298+
299+
250300
### 负载均衡配置示例
251301

252302
```json

0 commit comments

Comments
 (0)