> For the complete documentation index, see [llms.txt](https://www.axisnow.io/zh/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.axisnow.io/zh/docs/multi-edge/how-it-works.md).

# 工作原理

AxisNow 统一调度和管理多家边缘的方式

AxisNow 聚合边缘让您像管理一家边缘那样管理多家。它不在访问路径上引入新的层级：访客流量始终在访客、边缘提供商与源站之间直接传输，不经过 AxisNow，因此不增加延迟，也不引入单点故障。

您管理的对象是服务（Service）。一个服务包含一组域名、它们的源站与证书、参与调度的边缘提供商，以及作用于这些边缘的路由规则与策略；AxisNow 为每个服务分配一条统一入口——服务 CNAME（Service CNAME），业务域名通过它接入。

聚合边缘由三部分构成：

* **路由管理**：决定访客流量流向哪一家边缘提供商。
* **配置管理**：将服务的配置同步到每一家边缘提供商。
* **统一可观测性**：汇总各家的流量数据和拨测数据，在同一视图中呈现流量、调度情况与各家的性能和可用性。

## 路由管理 <a href="#routing-management" id="routing-management"></a>

AxisNow 提供对流量流向的完整控制。流量的流向由路由规则（Routing Rule）定义：每条规则针对一个 Geo & ISP 范围，指定参与调度的边缘提供商，根据拨测结果和路由模式来决定流量路由到哪一家边缘提供商。

![访客经服务 CNAME 解析到某家边缘提供商，HTTPS 请求直接到达边缘再回源，不经过 AxisNow；AxisNow 依据拨测结果同步 DNS 记录](https://3062891322-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKDgGNU6JXG7cqYCk2aCz%2Fuploads%2Fgit-blob-cc03f8622b2d8add9f1cca7fdc757be78974440e%2Fhow-it-works-traffic.png?alt=media)

图中 (1) (2) (3) 为一次访客访问的过程，(A) (B) (C) 为拨测与调度的过程，后者在 AxisNow Cloud 持续运行。

### DNS

调度发生在 DNS 层。您的业务域名以 CNAME 指向服务 CNAME，AxisNow 按路由规则生成服务 CNAME 的解析记录并持续维护；这些记录可托管在 AxisNow 的 DNS 上，也可托管在您集成的 DNS 提供商上。访客的每一次解析都由这些记录应答，流量本身不经过 AxisNow：

1. 访客访问 `www.example.com`，访客的解析器查询 `www.example.com`。
2. 解析经 CNAME 到达服务 CNAME，DNS 依据访客所在 Geo & ISP 匹配的规则，返回选中的边缘提供商的地址。
3. 访客直接向该边缘提供商发起 HTTPS 请求，边缘提供商回源获取内容。

完成[创建服务](/zh/docs/multi-edge/services.md) 并[配置路由规则](/zh/docs/multi-edge/services/routing.md)后，只需将业务域名的 DNS 记录修改为 CNAME 指向服务 CNAME，调度即生效。

### 路由模式 <a href="#routing-modes" id="routing-modes"></a>

每条路由规则对应一个 Geo & ISP 范围，并采用以下三种模式之一：

* **固定**（Fixed）：该范围固定使用一家边缘提供商
* **故障切换**（Failover）：按优先级使用第一家可用的边缘提供商
* **质量优选**（Quality）：在可用的边缘提供商中使用性能和可用性最好的一家

### 拨测与故障切换 <a href="#probing-and-failover" id="probing-and-failover"></a>

故障切换与质量优选的决策依据来自拨测。拨测在控制面持续运行，分为三个环节：

1. **拨测**（Probing）：拨测点按规则设定的频率（默认 30 秒）向每一家边缘提供商的地址发起请求，请求的 URL 为规则中的健康检查 URL（默认 `https://<域名>`）。拨测点按规则选择，通常与该规则服务的访客处于同一地区，以反映访客实际感受到的可用性与延迟。
2. **可用性 / 性能**：拨测结果汇总至 AxisNow 控制台。多数拨测点连续判定失败时，该边缘提供商在此范围内被判定为不可用；响应时间用于性能比较。
3. **DNS 记录同步**：控制台依据路由规则计算每个 Geo & ISP 范围当前应答的边缘提供商（故障切换取优先级最高的可用者，质量优选取性能最优的可用者），并将结果同步为服务 CNAME 的 DNS 记录。

判定发生变化时立即同步。当某家边缘提供商发生故障，AxisNow 自动将其从对应范围的应答中剔除，计入 DNS TTL 后，切换通常在数分钟内完成；故障恢复后自动回到规则设定的状态。固定规则始终应答指定的边缘提供商，拨测结果不影响它的应答；打开拨测只是为了看到这家边缘的可用性和性能。

## 配置管理 <a href="#configuration-management" id="configuration-management"></a>

多家边缘在 AxisNow 里是同一套配置。您在服务上改一次，AxisNow 自动把这次变更部署到它的每一家边缘提供商上。

![管理员在 AxisNow 修改域名、证书、源站和策略，AxisNow 通过 API 同步到每一家边缘提供商并取回流量报表](https://3062891322-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FKDgGNU6JXG7cqYCk2aCz%2Fuploads%2Fgit-blob-ffe9fd85cc9bc5b99ea8096f7dc2e16903b568c3%2Fhow-it-works-orchestration.png?alt=media)

配置管理覆盖服务的域名、证书、源站和策略（缓存、访问控制、限速、响应头）。同步通过各家的 API 完成：服务的每一项变更，AxisNow 都用您集成的账号凭据逐家写入，并核对写入结果，保证各家配置一致，您不需要登录任何一家边缘提供商的控制台。

各家边缘的能力并不完全相同。AxisNow 优先把配置转换为各家的原生规则；原生规则做不到的，改用该家的边缘函数实现，例如在 CloudFront 上按域名和路径选择源站；两种方式都无法实现的，在下发前的预览中标出，而不是静默跳过。

## 统一可观测性 <a href="#unified-observability" id="unified-observability"></a>

各家边缘提供商的报表口径和入口各不相同，您不需要逐家登录查看。统一可观测性包含两类数据：各家边缘的流量数据，以及 AxisNow 拨测点测得的调度、性能与可用性数据。

### 流量分析 <a href="#traffic-analytics" id="traffic-analytics"></a>

AxisNow 将各家的数据汇总到一处，按统一口径整理后在同一视图中呈现。您可以在仪表盘（Dashboard）上查看整个服务的流量全貌，也可以按边缘提供商对比流量、请求、错误与缓存表现，据此判断调度是否合理、某一家是否异常。

### 调度与拨测数据 <a href="#routing-and-probe-data" id="routing-and-probe-data"></a>

这部分数据来自 AxisNow 的拨测点，不依赖各家的报表，仅调度（Steer）方式加入的边缘同样可见。

* **调度情况**：**流量调度** 标签页的 **调度目标** 标出每条规则此刻 DNS 返回的是哪一家；**切换次数** 记录过去 24 小时每一次切换的时间、切换后的目的地和触发原因。
* **性能与可用性**：**可用性 · 24h** 和 **性能 · 24h** 展示每家边缘在各条规则下过去 24 小时的可用性和响应时间；仪表盘中的 **性能趋势** 和 **可用性趋势** 对比各家一段时间内的曲线，标为 **AxisNow 聚合边缘** 的虚线是经调度后访客实际得到的效果。

具体指标的含义见[流量调度](/zh/docs/multi-edge/services/routing.md)。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://www.axisnow.io/zh/docs/multi-edge/how-it-works.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
