技术条目 01
近期动态


隧道失效是所有加速方案都会遇到的情况。区别在于失效之后多久恢复、用户是否能感知。我们的工程目标是:切换在毫秒级完成,用户无感。
实现分三层兜底,从快到慢依次触发。第一层最快,处理瞬时抖动;第三层最慢但最彻底,处理区域性故障。
| 层级 | 机制 | 触发条件 | 切换耗时 |
|---|---|---|---|
| 第一层 | 双协议栈双通道切换 | 单通道瞬时劣化 | 毫秒级 |
| 第二层 | 智能节点调度 | 当前节点整体质量下滑 | 百毫秒级 |
| 第三层 | 强化学习链路预测 | 区域性故障或长期劣化 | 秒级 |

节点调整是最容易影响体感的变更,但公告往往只有一句话。四步读出关键信息。
| 公告类型 | 是否影响体验 | 你需要做什么 |
|---|---|---|
| 节点下线 | 可能 | 检查是否固定过该节点并重选 |
| 节点扩容 | 通常改善 | 无需操作,可复测确认 |
| 线路优化 | 可能改善 | 无需操作 |
| 服务公告 | 否 | 了解口径即可 |
按治理流程提前公告,并在客户端候选池中同步更新。
自动调度的用户会直接切到候选节点,感受不到下线动作,这是预期行为。
我们只公布可复现项并标注口径,例如可用性按滚动窗口统计而不是取最优值。
双协议栈双通道的核心是冗余。客户端同时维护两条独立协议路径,每条路径各自完成握手、密钥协商与心跳,互不干扰。任何一条出现异常时,流量在数据面瞬时切换到另一条,不需要重新建连。
切换发生在数据面而非控制面,这是能做到毫秒级的关键。重新建连意味着一次完整的握手往返,通常需要数百毫秒到数秒;数据面切换只需要重定向现有的数据流。
| 层级 | 机制 | 触发条件 | 切换耗时 |
|---|---|---|---|
| 第一层 | 双协议栈双通道切换 | 单通道瞬时劣化 | 毫秒级 |
| 第二层 | 智能节点调度 | 节点整体质量下滑 | 百毫秒级 |
| 第三层 | 强化学习链路预测 | 区域性故障 | 秒级 |
强化学习模型用于预测路径劣化。模型输入是链路质量指标(延迟、抖动、丢包、带宽),不含任何用户访问内容。当模型预判某条路径即将劣化时,系统会提前建立备用连接,把切换中断进一步压缩。
以上数据的测量方式统一为:同一台设备、同一时段、同一目标服务,开关对应功能各测三轮并取稳定段均值。我们公开测量方法的原因很简单——没有方法的数字无法验证,也无法复现。

| 限制 | 原因 | 影响 | 缓解方式 |
|---|---|---|---|
| 同源劣化 | 两条路径共享上游 | 多路径同时失效 | 切换出口区域 |
| 切换频繁 | 本地网络波动大 | 体验受影响 | 固定到更稳定出口 |
| 预判偏差 | 训练数据未覆盖该场景 | 切换稍晚 | 持续补充样本 |
模型只使用链路质量指标,不涉及用户访问目标。这是我们与「行为分析型优化」的根本区别。
我们的版本号遵循主版本.次版本.修订号的结构,每一级的含义与兼容性影响是明确的。
| 位 | 变更含义 | 兼容性影响 | 是否需要升级 |
|---|---|---|---|
| 主版本 | 架构级变更 | 可能需要重新初始化 | 建议 |
| 次版本 | 新增能力 | 向后兼容 | 可选 |
| 修订号 | 缺陷修复与参数调整 | 完全兼容 | 建议 |
规则库版本与客户端版本独立编号。规则库更新通常不需要升级客户端,启动时自动拉取。

