From e2ebc6c0377dda93579379ebe91d3376c8df5a77 Mon Sep 17 00:00:00 2001 From: Fangliding Date: Tue, 12 May 2026 02:05:08 +0800 Subject: [PATCH] Routing: Correct strategy desc Co-Authored-By: ZeN220 <79989516+ZeN220@users.noreply.github.com> --- docs/config/routing.md | 15 ++++++++------- docs/en/config/routing.md | 15 ++++++++------- docs/ru/config/routing.md | 12 +++++++++--- 3 files changed, 25 insertions(+), 17 deletions(-) diff --git a/docs/config/routing.md b/docs/config/routing.md index e5bd4a01..05e89595 100644 --- a/docs/config/routing.md +++ b/docs/config/routing.md @@ -298,6 +298,8 @@ HTTP 请求头。 负载均衡器配置。当一个负载均衡器生效时,它会从指定的 outbound 中,按配置选出一个最合适的 outbound,进行流量转发。 +部分功能需要两个观测站 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 的其中一个的信息,见具体说明。 + ```json { "tag": "balancer", @@ -321,8 +323,6 @@ HTTP 请求头。 如果根据连接观测结果所有 outbound 都无法连接,则使用这个配置项指定的 outbound。 -注意:需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项 - > `strategy`: [StrategyObject](#strategyobject) #### StrategyObject @@ -338,12 +338,13 @@ HTTP 请求头。 - `random` 默认值。随机选择匹配到的出站代理。 - `roundRobin` 按顺序选择匹配到的出站代理。 -- `leastPing` 根据连接观测结果选择延迟最小的匹配到的出站代理。需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项。 -- `leastLoad` 根据连接观测结果选择最稳定的出站代理。需要添加 [observatory](./observatory.md#observatoryobject) 或者 [burstObservatory](./observatory.md#burstobservatoryobject) 配置项。 -::: tip -无论哪一种模式,一旦其所有的 `selector` 对应节点同时配置了 `observatory` 或 `burstObservatory`,则可以过滤出健康节点。若没有任何健康节点可用,会尝试 `fallbackTag` -::: +以上两种可选拥有观测站,如果设置了 `fallbackTag` 且有观测站会自动排除掉被观测为不可用的出站(没有观测数据的会假设存活)。 + +- `leastPing` 根据连接观测结果选择延迟最小的匹配到的出站代理。 +- `leastLoad` 根据连接观测结果选择最稳定的出站代理。 + +以上两种必须配合观测站使用,并且未被观测站覆盖的节点会被直接排除。如果全部不可用且 `fallbackTag` 也未设置则会选择默认出站 > `settings`: [StrategySettingsObject](#strategysettingsobject) diff --git a/docs/en/config/routing.md b/docs/en/config/routing.md index 82aa2a7d..966d6b9e 100644 --- a/docs/en/config/routing.md +++ b/docs/en/config/routing.md @@ -298,6 +298,8 @@ HTTP request headers. Load balancer configuration. When a load balancer takes effect, it selects the most suitable outbound from the specified outbounds according to the configuration and forwards the traffic. +Some features require information from either of the two observatories — [observatory](./observatory.md#observatoryobject) or [burstObservatory](./observatory.md#burstobservatoryobject); see the specific descriptions. + ```json { "tag": "balancer", @@ -321,8 +323,6 @@ Generally matches multiple outbounds to distribute load among them. If all outbounds cannot be connected based on observation results, the outbound specified by this configuration item is used. -Note: Requires adding [observatory](./observatory.md#observatoryobject) or [burstObservatory](./observatory.md#burstobservatoryobject) configuration items. - > `strategy`: [StrategyObject](#strategyobject) #### StrategyObject @@ -338,12 +338,13 @@ Note: Requires adding [observatory](./observatory.md#observatoryobject) or [burs - `random`: Default value. Randomly selects a matched outbound proxy. - `roundRobin`: Selects matched outbound proxies in order. -- `leastPing`: Selects the matched outbound proxy with the lowest latency based on observation results. Requires [observatory](./observatory.md#observatoryobject) or [burstObservatory](./observatory.md#burstobservatoryobject). -- `leastLoad`: Selects the most stable outbound proxy based on observation results. Requires [observatory](./observatory.md#observatoryobject) or [burstObservatory](./observatory.md#burstobservatoryobject). -::: tip -Regardless of the mode, if all nodes corresponding to its `selector` have `observatory` or `burstObservatory` configured, healthy nodes can be filtered out. If no healthy nodes are available, it attempts `fallbackTag`. -::: +The two strategies above can optionally use an observatory. If `fallbackTag` is set and an observatory is present, outbounds observed as unavailable will be automatically excluded (those without observation data are assumed to be alive). + +- `leastPing`: Selects the matched outbound proxy with the lowest latency based on observation results. +- `leastLoad`: Selects the most stable outbound proxy based on observation results. + +The two strategies above must be used together with an observatory, and nodes not covered by the observatory will be directly excluded. If all are unavailable and `fallbackTag` is not set, the default outbound will be selected. > `settings`: [StrategySettingsObject](#strategysettingsobject) diff --git a/docs/ru/config/routing.md b/docs/ru/config/routing.md index 997761f0..07718b3d 100644 --- a/docs/ru/config/routing.md +++ b/docs/ru/config/routing.md @@ -290,6 +290,8 @@ URL, по которому будет отправлено уведомлени Конфигурация балансировщика нагрузки. Когда балансировщик нагрузки активен, он выбирает наиболее подходящий исходящий канал из указанных исходящих каналов в соответствии с конфигурацией и перенаправляет трафик через него. +Часть функций требует данных от одного из двух наблюдательных модулей — [observatory](./observatory.md#observatoryobject) или [burstObservatory](./observatory.md#burstobservatoryobject); см. конкретные описания. + ```json { "tag": "balancer", @@ -312,7 +314,6 @@ URL, по которому будет отправлено уведомлени > `fallbackTag`: string Если на основе результатов наблюдения за подключениями все исходящие (outbound) оказываются недоступными, то используется исходящее подключение, указанное в этой настройке. -Примечание: необходимо добавить конфигурацию [observatory](./observatory.md#observatoryobject) или [burstObservatory](./observatory.md#burstobservatoryobject). > `strategy`: [StrategyObject](#strategyobject) @@ -329,8 +330,13 @@ URL, по которому будет отправлено уведомлени - `random`: значение по умолчанию. Случайным образом выбирает соответствующий исходящий прокси. - `roundRobin`: выбирает соответствующие исходящие прокси по очереди. -- `leastPing` Выбирает исходящий прокси с наименьшей задержкой на основе результатов наблюдения за подключениями. Необходимо добавить конфигурацию [observatory](./observatory.md#observatoryobject) или [burstObservatory](./observatory.md#burstobservatoryobject). -- `leastLoad` Выбирает наиболее стабильный исходящий прокси на основе результатов наблюдения за подключениями. Необходимо добавить конфигурацию [observatory](./observatory.md#observatoryobject) или [burstObservatory](./observatory.md#burstobservatoryobject). + +Две описанные выше стратегии могут опционально использовать наблюдательный модуль. Если задан `fallbackTag` и наблюдательный модуль присутствует, исходящие, отмеченные как недоступные, будут автоматически исключены (узлы без данных наблюдения считаются доступными). + +- `leastPing` Выбирает исходящий прокси с наименьшей задержкой на основе результатов наблюдения за подключениями. +- `leastLoad` Выбирает наиболее стабильный исходящий прокси на основе результатов наблюдения за подключениями. + +Две описанные выше стратегии должны использоваться вместе с наблюдательным модулем; узлы, не покрытые наблюдением, будут напрямую исключены. Если все недоступны и `fallbackTag` не задан, будет выбран исходящий по умолчанию. > `settings`: [StrategySettingsObject](#strategysettingsobject)