边缘策略Skill edge-strategy

这个技能用于设计全球内容分发网络(CDN)和边缘部署架构,优化网络延迟、规划缓存策略、决定边缘计算放置,并设计多区域故障转移计划,适用于云计算和分布式系统优化。关键词:CDN、边缘计算、延迟优化、缓存架构、全球分布、云计算、云原生。

云原生架构 0 次安装 0 次浏览 更新于 3/11/2026

名称: 边缘策略 描述: 设计全球分布的CDN和边缘部署策略 - 优化延迟、规划缓存架构,并推荐边缘计算放置 允许工具: 读取、全局搜索、grep、任务、询问用户问题 参数提示: <需求或系统>

边缘策略命令

此命令为全球分布式系统设计CDN和边缘部署策略。

目的

生成边缘架构计划,包括:

  1. 地理分布需求
  2. CDN和缓存策略
  3. 边缘计算放置决策
  4. 延迟优化计划
  5. 多区域故障转移设计

工作流程

阶段1:需求收集

了解分布需求:

如果提供需求:

  • 解析地理和延迟需求
  • 识别用户分布模式
  • 确定内容类型和缓存潜力
  • 检查合规性/数据驻留限制

如果未提供需求,询问:

您的边缘/CDN需求是什么?

1. 用户地理:
   - 主要区域:[美国/欧洲/亚太/全球]
   - 用户分布:[集中/分散]

2. 延迟要求:
   - 目标P50:[50毫秒/100毫秒/200毫秒/尽力而为]
   - 目标P99:[100毫秒/200毫秒/500毫秒/尽力而为]

3. 内容概况:
   - 静态内容百分比:[高/中/低]
   - API/动态内容:[是/否]
   - 实时要求:[是/否]

4. 合规性:
   - 数据驻留要求:[GDPR/CCPA/无]
   - 特定国家限制:[列表]

阶段2:当前状态分析

如果提供系统,分析当前架构:

当前状态分析:
□ 现有部署区域
□ 当前CDN配置(如有)
□ 内容类型和缓存头部
□ 源站架构
□ 流量模式和容量
□ 当前延迟测量

搜索模式:

  • CDN配置:cdncloudfrontcloudflareakamaicache-control
  • 多区域:regionfailoverreplicaprimarysecondary
  • 边缘:edgelambda@edgeworkersedge function

阶段3:内容分析

为缓存策略分类内容:

内容分类:

静态资源(长缓存):
□ JavaScript捆绑包
□ CSS样式表
□ 图像和媒体
□ 字体
□ 静态HTML

动态内容(短缓存):
□ API响应(可缓存)
□ 生成页面
□ 搜索结果
□ 聚合数据

实时/不可缓存:
□ 用户特定数据
□ 交易端点
□ WebSocket连接
□ 实时订阅源

估计可缓存百分比:[X]%

阶段4:地理分布设计

规划地理架构:

地理分布计划:

用户分布分析:
- 区域1:[X]%的用户
- 区域2:[Y]%的用户
- 区域3:[Z]%的用户

推荐架构:
┌─────────────────────────────────────────────────────────────┐
│                         用户                                │
│    [区域1]      [区域2]      [区域3]                      │
└────────┬─────────────┬─────────────┬────────────────────────┘
         │             │             │
         ▼             ▼             ▼
┌─────────────────────────────────────────────────────────────┐
│                    CDN边缘层                                │
│  ┌──────────┐  ┌──────────┐  ┌──────────┐                  │
│  │ 边缘节点 │  │ 边缘节点 │  │ 边缘节点 │                  │
│  │ [区域]   │  │ [区域]   │  │ [区域]   │                  │
│  └────┬─────┘  └────┬─────┘  └────┬─────┘                  │
└───────┼─────────────┼─────────────┼─────────────────────────┘
        │             │             │
        └─────────────┼─────────────┘
                      ▼
┌─────────────────────────────────────────────────────────────┐
│                   源站层                                   │
│  [主要区域]         [次要区域]                            │
└─────────────────────────────────────────────────────────────┘

区域选择理由:
- [区域1]:[理由 - 用户集中、合规性等]
- [区域2]:[理由]

阶段5:CDN架构设计

设计缓存策略:

CDN架构设计:

供应商推荐:[Cloudflare/CloudFront/Akamai/Fastly]
理由:[为什么选择此供应商]

缓存层级:
┌─────────────────────────────────────────────────────────────┐
│  浏览器缓存(L1)                                           │
│  - 静态资源:max-age=31536000, immutable                   │
│  - API响应:max-age=0, must-revalidate                     │
├─────────────────────────────────────────────────────────────┤
│  CDN边缘缓存(L2)                                          │
│  - 静态:1年TTL,版本化URL                                  │
│  - 动态:60秒TTL,stale-while-revalidate                   │
│  - 个性化:缓存键包含授权头部                               │
├─────────────────────────────────────────────────────────────┤
│  源站屏蔽(L3)                                             │
│  - 位置:[最接近源站的区域]                                 │
│  - 合并缓存未命中                                           │
│  - 减少源站负载约80%                                        │
└─────────────────────────────────────────────────────────────┘

缓存规则:

| 路径模式 | 缓存位置 | TTL | 可变头部 | 失效 |
|--------------|----------------|-----|--------------|--------------|
| /static/*    | 边缘 + 浏览器 | 1年 | 无           | 版本化URL |
| /api/public/*| 仅边缘        | 60秒| Accept       | 缓存标签   |
| /api/user/*  | 边缘          | 30秒| Authorization| 变更时清除 |
| /api/auth/*  | 无            | N/A | N/A          | N/A          |

阶段6:边缘计算策略

确定边缘计算放置:

边缘计算分析:

边缘计算用例:
□ 身份验证/令牌验证
□ 请求路由和A/B测试
□ 个性化(基础)
□ 安全(WAF、速率限制)
□ 响应转换
□ 基于地理位置的逻辑

推荐边缘函数:

函数1:验证授权
- 位置:边缘(每个节点)
- 目的:在源站前验证JWT
- 延迟节省:约50-100毫秒
- 技术:[Cloudflare Workers/Lambda@Edge]

函数2:地理路由器
- 位置:边缘(每个节点)
- 目的:路由至最佳源站
- 实现:[细节]

函数3:[自定义函数]
- [细节]

边缘与源站决策矩阵:

| 操作 | 边缘 | 源站 | 理由 |
|-----------|------|--------|--------|
| JWT验证 | ✓ | | 快速、无状态 |
| 速率限制 | ✓ | | 分布式执行 |
| 用户查找 | | ✓ | 需要数据库 |
| 交易 | | ✓ | ACID要求 |
| ML推理 | | ✓ | 计算密集型 |

阶段7:延迟预算

创建端到端延迟分配:

延迟预算:[目标]毫秒 P99

┌─────────────────────────────────────────────────────────────┐
│                    [总计]毫秒 总预算                         │
├─────────────────────────────────────────────────────────────┤
│                                                              │
│  ┌──────────┬──────────┬──────────┬──────────┬──────────┐  │
│  │ 网络     │   边缘   │   源站   │    数据库│   响应   │  │
│  │   X毫秒  │   X毫秒  │   X毫秒  │   X毫秒  │   X毫秒  │  │
│  └──────────┴──────────┴──────────┴──────────┴──────────┘  │
│                                                              │
│  预算分配:                                                  │
│  ├── 网络(客户端→边缘):[X]毫秒                           │
│  ├── 边缘处理:[X]毫秒                                     │
│  ├── 边缘→源站:[X]毫秒                                   │
│  ├── 源站处理:[X]毫秒                                     │
│  ├── 数据库查询:[X]毫秒                                   │
│  └── 响应序列化:[X]毫秒                                   │
└─────────────────────────────────────────────────────────────┘

优化策略:
1. 在边缘缓存(消除源站往返)
2. 边缘计算用于验证(减少源站工作)
3. 数据库优化(索引、连接池)
4. 协议升级(HTTP/3、连接重用)

阶段8:多区域故障转移设计

规划故障转移架构:

故障转移架构:

部署模型:[主动-主动 / 主动-被动]

区域配置:
┌─────────────────┐         ┌─────────────────┐
│  [主要]         │         │  [次要]         │
│  ┌───────────┐  │   ───►  │  ┌───────────┐  │
│  │   主动    │  │ 异步    │  │  [模式]   │  │
│  │   源站    │  │ 复制    │  │   源站    │  │
│  └───────────┘  │         │  └───────────┘  │
└─────────────────┘         └─────────────────┘

故障转移机制:
- 健康检查:[间隔和阈值]
- 检测时间:[X]秒
- 故障转移时间:[X]秒
- 总RTO:[X]秒

恢复目标:
- RTO(恢复时间目标):[X分钟]
- RPO(恢复点目标):[X分钟]

流量路由:
- 正常:[X]% 主要,[Y]% 次要
- 故障转移:100% 至健康区域
- 故障恢复:逐步移回

数据复制:
- 方法:[同步/异步]
- 延迟容差:[X]毫秒
- 冲突解决:[策略]

阶段9:生成策略文档

创建全面边缘策略:

# 边缘策略:[系统名称]

## 执行摘要

目标:[延迟目标] P99 全球
方法:[CDN供应商] + [X] 源站区域 + 边缘计算
预期改进:[X]% 延迟减少

## 架构概述

[完整架构的ASCII图]

## CDN配置

| 设置 | 值 | 理由 |
|---------|-------|-----------|
| 供应商 | [名称] | [为什么] |
| 边缘节点 | [区域] | [覆盖] |
| 源站屏蔽 | [位置] | [合并未命中] |
| 缓存策略 | [方法] | [令牌效率] |

## 边缘计算

| 函数 | 位置 | 目的 | 技术 |
|----------|----------|---------|------------|
| [名称] | 边缘 | [目的] | [技术] |

## 区域部署

| 区域 | 角色 | 服务 | 理由 |
|--------|------|----------|-----------|
| [区域1] | 主要 | 全部 | [理由] |
| [区域2] | 次要 | 全部 | [理由] |

## 实施路线图

### 阶段1:CDN设置(第1-2周)
- [ ] CDN供应商配置
- [ ] DNS迁移
- [ ] 缓存规则实现
- [ ] 源站屏蔽设置

### 阶段2:边缘计算(第3-4周)
- [ ] 边缘函数开发
- [ ] 测试和验证
- [ ] 逐步推出

### 阶段3:多区域(第5-8周)
- [ ] 次要区域配置
- [ ] 数据复制设置
- [ ] 故障转移测试
- [ ] 上线

## 监控

| 指标 | 目标 | 告警阈值 |
|--------|--------|-----------------|
| 缓存命中率 | >90% | <80% |
| 边缘延迟P50 | <20毫秒 | >30毫秒 |
| 源站延迟P99 | <100毫秒 | >150毫秒 |
| 可用性 | 99.99% | <99.9% |

使用示例

# 为需求设计边缘策略
/sd:edge-strategy "全球用户,<100毫秒 P99,静态密集型网站"

# 分析现有系统
/sd:edge-strategy @src/infra/

# 审查当前CDN配置
/sd:edge-strategy "审查并优化当前CloudFront设置"

# 规划多区域扩展
/sd:edge-strategy "从美国扩展到欧洲和亚太"

交互元素

使用AskUserQuestion来:

  • 澄清地理需求
  • 理解延迟目标
  • 识别合规限制
  • 验证CDN供应商偏好
  • 确认故障转移要求

输出

命令生成:

  1. 地理分布计划 - 区域选择和理由
  2. CDN架构 - 缓存策略和配置
  3. 边缘计算策略 - 函数放置和设计
  4. 延迟预算 - 端到端延迟分配
  5. 故障转移设计 - 多区域弹性计划
  6. 实施路线图 - 分阶段推出计划

相关技能

此命令利用:

  • cdn-architecture - CDN设计模式
  • edge-computing - 边缘函数设计
  • multi-region-deployment - 全球分布策略
  • latency-optimization - 延迟减少技术

相关代理

用于持续边缘架构咨询:

  • edge-architect - CDN和边缘专业知识