内容分发网络(CDN)设计全解析
1. 令牌删除策略
令牌删除可以采用异步或同步方式。由于注销操作并不频繁,所以两种方式都可行。
- 异步删除 :存在一定风险,若处理删除操作的客户应用主机突然故障,令牌可能无法删除。解决办法有两种,一是忽略该问题,允许部分令牌不被销毁;二是采用事件驱动方法,客户应用主机将令牌删除事件发送到 Kafka 队列,消费者集群消费这些事件并在 CDN 上删除令牌。
- 同步删除 :若客户应用主机突然故障导致令牌删除失败,用户/客户端将收到 500 错误,客户端可重试注销请求。这种方式会增加注销请求的延迟,但可能是可以接受的。
2. 密钥轮换机制
为限制黑客窃取密钥后的破坏,客户的密钥应定期更换。采用密钥轮换而非突然更改,轮换过程有新旧密钥同时有效的阶段,以便新密钥传播到所有客户系统。当旧密钥过期后,用户无法使用其访问 CDN 资产。若已知密钥被盗,CDN 可快速轮换密钥并缩短旧密钥的过期时间,让客户尽快切换到新密钥。
3. 高层架构设计
CDN 采用典型的 API 网关 - 元数据 - 存储/数据库架构。用户请求由 API 网关处理,该网关会与其他服务交互,包括 SSL 终止、认证授权、速率限制和日志记录等。API 网关可查询元数据服务,确定用户应读写的存储服务主机。若 CDN 资产加密存储,元数据服务会记录相关信息,同时使用密钥管理服务管理加密密钥。
| 服务名称 | 作用 |
|---|
超级会员免费看
订阅专栏 解锁全文
1597

被折叠的 条评论
为什么被折叠?



