CN Observatory: More detailed explanation

pull/709/head
Meo597 2025-07-07 06:05:58 +08:00
parent 51751c869f
commit d7f9feccc0
3 changed files with 15 additions and 5 deletions

View File

@ -7,7 +7,7 @@ lang: zh-CN
## 概述
Xray 的配置文件为 json 格式, 客户端和服务端的配置格式没有区别, 只是实际的配置内容不一样。
Xray 的配置文件为 json 格式, 客户端和服务端的配置格式没有区别, 只是实际的配置内容不一样。
形式如下:
```json
@ -89,4 +89,4 @@ metrics 配置。更直接(希望更好)的统计导出方式。
> burstObservatory: [BurstObservatoryObject](./observatory.md#burstobservatoryobject)
发连接观测。探测出站代理的连接状态。
发连接观测。探测出站代理的连接状态。

View File

@ -1,6 +1,6 @@
# 连接观测
连接观测组件使用 HTTPing 的方式探测出站代理的连接状态。观测结果可以被其他组件使用,如负载均衡器。目前有 [observatory](#observatoryobject) (后台连接观测)和 [burstObservatory](#burstobservatoryobject) 发连接观测)两种。按需选择其中之一就行。
连接观测组件使用 HTTPing 的方式探测出站代理的连接状态。观测结果可以被其他组件使用,如负载均衡器。目前有 [observatory](#observatoryobject) (后台连接观测)和 [burstObservatory](#burstobservatoryobject) 发连接观测)两种。按需选择其中之一就行,理论上 `burstobservatoryobject` 特征更不明显
## ObservatoryObject
@ -63,12 +63,18 @@
> `connectivity`: string
用于检测本地网络连通性的网址。空字符串表示不检测本地网络连通性。
用于检测本地网络连通性的网址。这个网址应该返回 HTTP 204 成功状态码。空字符串表示不检测本地网络连通性。
仅当 `destination` 探测失败时会执行此探测。这样在日志中能更清晰的体现出网络不通的原因。
注意:在透明代理模式下,此请求会重入 xray 进行路由,因此必须精挑细选网址,确保它匹配直连规则。
> `interval`: string
在指定时间内探测全部匹配的出站代理,每个出站代理探测 sampling + 1 次。时间格式为数字 + 单位,比如 `"10s"`, `"2h45m"`,支持的时间单位有 `ns`, `us`, `ms`, `s`, `m`, `h` 分别对应纳秒、微秒、毫秒、秒、分、时。
注意:具体的探测时间是随机的!原理是每间隔 interval立即并发调度所有出站的探测任务但是在每个任务生命周期内随机时间执行探测这意味着相较于 `observatory`(后台连接观测),本探测器的特征更不明显。但是如果 interval 设置的过小,或者 sampling 过大导致频繁探测,那么特征仍然会很明显。
> `sampling`: number
保留最近探测结果的数量。

View File

@ -250,10 +250,14 @@ Xray-core v1.8.7 或更高版本可省略该行。
> `type` : "random" | "roundRobin" | "leastPing" | "leastLoad"
- `random` 默认值。随机选择匹配到的出站代理。
- `roundRobin` 按顺序选择匹配到的出站代理。如果同时设置了fallbackTag和observatory则可以过滤出健康节点进行轮询。
- `roundRobin` 按顺序选择匹配到的出站代理。
- `leastPing` 根据连接观测结果选择延迟最小的匹配到的出站代理。需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项。
- `leastLoad` 根据连接观测结果选择最稳定的出站代理。需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项。
::: tip
无论哪一种模式,一旦其所有的 `selector` 对应节点同时配置了 `observatory``burstObservatory`,则可以过滤出健康节点。若没有任何健康节点可用,会尝试 `fallbackTag`
:::
> `settings`: [StrategySettingsObject](#strategysettingsobject)
##### StrategySettingsObject