Skip to content

Commit 035ea6e

Browse files
authored
CN Observatory: More detailed explanation (#709)
* CN Observatory: More detailed explanation * fix
1 parent fcb878d commit 035ea6e

File tree

3 files changed

+15
-5
lines changed

3 files changed

+15
-5
lines changed

docs/config/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ lang: zh-CN
77
88
## 概述
99

10-
Xray 的配置文件为 json 格式, 客户端和服务端的配置格式没有区别, 只是实际的配置内容不一样。
10+
Xray 的配置文件为 json 格式, 客户端和服务端的配置格式没有区别, 只是实际的配置内容不一样。
1111
形式如下:
1212

1313
```json
@@ -89,4 +89,4 @@ metrics 配置。更直接(希望更好)的统计导出方式。
8989

9090
> burstObservatory: [BurstObservatoryObject](./observatory.md#burstobservatoryobject)
9191
92-
并发连接观测。探测出站代理的连接状态。
92+
突发连接观测。探测出站代理的连接状态。

docs/config/observatory.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# 连接观测
22

3-
连接观测组件使用 HTTPing 的方式探测出站代理的连接状态。观测结果可以被其他组件使用,如负载均衡器。目前有 [observatory](#observatoryobject) (后台连接观测)和 [burstObservatory](#burstobservatoryobject)并发连接观测)两种。按需选择其中之一就行。
3+
连接观测组件使用 HTTPing 的方式探测出站代理的连接状态。观测结果可以被其他组件使用,如负载均衡器。目前有 [observatory](#observatoryobject) (后台连接观测)和 [burstObservatory](#burstobservatoryobject)突发连接观测)两种。按需选择其中之一就行,理论上 `burstObservatory` 特征更不明显
44

55
## ObservatoryObject
66

@@ -63,12 +63,18 @@
6363

6464
> `connectivity`: string
6565
66-
用于检测本地网络连通性的网址。空字符串表示不检测本地网络连通性。
66+
用于检测本地网络连通性的网址。这个网址应该返回 HTTP 204 成功状态码。空字符串表示不检测本地网络连通性。
67+
68+
仅当 `destination` 探测失败时会执行此探测。这样在日志中能更清晰的体现出网络不通的原因。
69+
70+
注意:在透明代理模式下,此请求会重入 xray 进行路由,因此必须精挑细选网址,确保它匹配直连规则。
6771

6872
> `interval`: string
6973
7074
在指定时间内探测全部匹配的出站代理,每个出站代理探测 sampling + 1 次。时间格式为数字 + 单位,比如 `"10s"`, `"2h45m"`,支持的时间单位有 `ns`, `us`, `ms`, `s`, `m`, `h`, 分别对应纳秒、微秒、毫秒、秒、分、时。
7175

76+
注意:具体的探测时间是随机的!原理是每间隔 interval,立即并发调度所有出站的探测任务,但是在每个任务生命周期内随机时间执行探测,这意味着相较于 `observatory`(后台连接观测),本探测器的特征更不明显。但是如果 interval 设置的过小,或者 sampling 过大导致频繁探测,那么特征仍然会很明显。
77+
7278
> `sampling`: number
7379
7480
保留最近探测结果的数量。

docs/config/routing.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,14 @@ Xray-core v1.8.7 或更高版本可省略该行。
250250
> `type` : "random" | "roundRobin" | "leastPing" | "leastLoad"
251251
252252
- `random` 默认值。随机选择匹配到的出站代理。
253-
- `roundRobin` 按顺序选择匹配到的出站代理。如果同时设置了fallbackTag和observatory,则可以过滤出健康节点进行轮询。
253+
- `roundRobin` 按顺序选择匹配到的出站代理。
254254
- `leastPing` 根据连接观测结果选择延迟最小的匹配到的出站代理。需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项。
255255
- `leastLoad` 根据连接观测结果选择最稳定的出站代理。需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项。
256256

257+
::: tip
258+
无论哪一种模式,一旦其所有的 `selector` 对应节点同时配置了 `observatory``burstObservatory`,则可以过滤出健康节点。若没有任何健康节点可用,会尝试 `fallbackTag`
259+
:::
260+
257261
> `settings`: [StrategySettingsObject](#strategysettingsobject)
258262
259263
##### StrategySettingsObject

0 commit comments

Comments
 (0)