文档中心 CDN Pro 边缘节点架构

边缘节点架构

更新时间:2023-04-27 18:26:59

7层负载均衡与边缘服务器级联的架构

CDN Pro 的边缘网络包含遍布全球的成百上千个节点。每个节点中都有一个物理服务器集群。为了最有效地利用这些服务器,我们的设计需要能满足以下两个条件:

  1. 服务负载需要尽可能均匀地分布在所有服务器上。这里的“负载”包括网络带宽、CPU 功率和磁盘的使用。

  2. 对于可缓存的内容,避免在同一个节点中重复缓存。

我们在每个边缘节点中设计了以下逻辑架构:

网宿亮相中国数字化创新博览会,赋能智慧医药新发展

路由器收到请求后,首先经过四层防火墙和负载均衡器,然后到达七层负载均衡器 (LB7,load balancer), LB7 完成 TLS 连接,并对 HTTP 请求进行一些初始处理,然后将其分发到边缘服务器 (ES,edge server) 进行进一步处理。LB7 到 ES 的分发规则是基于一致性哈希算法,哈希键包括请求 URI 和 可自定义的变量,以此确保 ES 被均匀分配使用。 ES 负责请求处理的大部分工作,包括我们放入边缘逻辑(Edge Logic)中的所有内容。它还负责发起对源站、父节点或 外部服务的请求以获取必要的数据。任何可缓存的内容也都存储在 ES 中。

基于这种架构,我们可以看到一些任务会更适合在 LB7 中执行。如果一个请求可以在 LB7 被响应,可以节省将其传递给 ES 所需的开销。为了实现这一目标,我们允许用户在加速项目的负载均衡逻辑(LB LOGIC)中进行进行配置,以将处理逻辑插入到 LB7中。loadBalancerLogic 支持的指令会标记为LB logic 。为了支持在 LB7 中有效地构建响应,大部分的访问控制指令以及 rewrite 模块中的指令都可以在其中使用。

此外,由于客户端的 TCP 和 TLS 连接在 LB7 中完成,一些 客户端信息仅在 LB7 中可用。例如,如果您的处理逻辑依赖TLS加密套件’$ssl_cipher’或 请求协议’$ssl_protocol’等信息, 那么它只能在 LB7 中实现。

本篇文档内容对您是否有帮助?
有帮助
我要反馈
提交成功!非常感谢您的反馈,我们会继续努力做到更好!