CDNHAO使用文档

什么是L2节点

在CDN架构中,L2节点可以理解为一种“中间层”或“汇聚层”节点,是连接源站与边缘节点(L1节点)的关键桥梁。 具体来说: L1 节点(边缘节点):离用户最近,直接响应用户请求。 L2 节点(中转节点):用于汇聚多个 L1 节点的请求。当 L1 缓存未命中时,不直接回源站,而是先向 L2 请求。如果 L2 也没有,再回源到源站。

增加L2节点的好处在于: 减少源站压力:大量边缘节点的回源请求被 L2 吸收,源站只需面对有限的 L2 节点。 提升缓存命中率:L2 缓存了多个区域的热门内容,避免重复请求。 优化跨区域流量:让流量在 CDN 内部闭环,而不必频繁出网。

需要注意的是,目前CDNHAO的L2节点只适用于网站,四层转发暂不支持L2节点功能。 架构图如下:

L2节点机器要求

因为L2节点需要汇聚多个L1的请求,集中缓存多个L1的请求文件,所以建议L2节点使用大带宽和大硬盘的机器。 考虑成本的话,可以只给某些套餐开放L2节点权限。

如何设置线路组使用L2节点

1. 添加L2节点

可以选择把当前L1节点修改为L2节点,也可以新增节点在初始化时直接选择L2节点类型,如图:

2. 先增加L2配置

切换到“节点管理”-》L2配置,点击“新增配置”,如图 输入L2配置的名称,如“vip套餐L2配置” 模式可选“缓存”或“全局”,缓存模式时,只有配置了缓存的URL才会走L2节点回源,全局模式时,所有URL都会走L2节点回源 负载方式可选“轮循”或“URL哈希”,轮询模式时,会按照设置的权重轮流选择一个L2节点回源,URL哈希模式时,同一个URL会固定使用同一个L2节点回源

3. 配置L2节点

新增L2配置后,点击相应L2配置的“配置节点”按钮,进入L2节点配置。 在左侧选择要添加的L2节点,点击“批量添加”按钮,添加L2节点进此L2配置,如图:

4. 给线路组选择L2配置

切换到“节点管理”-》“线路分组”,在相应的线路组行中,点击“编辑”,在L2配置行选择L2配置,如图:

5. 开启套餐的L2回源权限

上一步完成了线路组里L2配置的关联,基础套餐中L2回源权限是默认关闭的,需要编辑基础套餐来开启L2权限,如图: 开启后,对于使用了此套餐的网站,才有权限使用L2节点回源。 注意:从master-v5.8.1或之前升级上来的版本,需要手动启用或修改配置才会生效L2

L2条件如何使用

在上面的第三步骤“配置L2节点”,添加L2节点到L2配置时,会弹出一个条件对话框,当不选择任何的条件时,L1节点当按照L2节点的权重值来按比例的选择L2节点回源,比如两个L2节点,A和B,A权重为1,B权重为2,L1节点将按照1/3选择A,2/3选择B。

cdn内置了“海外节点”的条件,即当线路组即存在国内节点,又存在国外节点时,这时候可以添加两个L2节点,一个国内的L2节点,一个国外的L2节点,添加国内L2节点不选择条件,添加国外的L2节点时,推荐选择“国外节点”的条件。这样当L1节点(边缘节点)为国外节点时,就会始终选择国外节点回源,L1不为国外节点时,将选择国内的L2节点。

这样就不会出现国内的L1节点去连接国外L2节点增加连接延迟的情况。

除了内置的“海外节点”条件,还可以自定义更灵活的条件来不同场景的L2节点选择。如图:

网站级别的L2配置

除了线路组级别的L2配置,也可以针对网站来设置不同的L2配置(此功能目前只开放给管理员设置),如图:

L2节点掉线如何处理

  1. 当L2节点被监控程序监测到不可用禁用时,L2节点此时下线,L1将选择其它可用的L2节点,如果全部L2节点不可用,将直接回源,不使用任何的L2节点回源。
  2. 所有的L1节点各自都会间隔10秒钟检测一次每一个L2节点是否能连通,默认使用tcp连接L2的80端口(此端口可以在区域里更改),如果连续3次不通,此L1节点将下线该L2节点;如果探测到连续3次正常连接,将恢复此L2节点的使用。

如何判断是否使用了L2节点

主要看两个响应头:

  1. X-Cache-Status 表示缓存命中情况 如X-Cache-Status: HIT from L1:7 表示节点id为7的L1节点命中缓存 X-Cache-Status: HIT from L2:8, MISS from L1:7 表示节点id为7的L1没有命中缓存,节点id为8的L2节点命中了缓存,没有回源
  2. Via表示经过了哪些节点 如Via: L1:7, L2:8,先经过了节点id为7的L1节点,接着连接了节点id为8的L2节点

也可以查看后台的访问日志,如图 当L2 IP列不为空时,表示连接了L2节点,为空时,没有连接L2节点。

边缘节点使用什么IP连接L2节点

使用的是CDN后台节点管理里的L2节点里填写的IP。如果L2节点在cdn后台存在多个IP,就使用第一个IP作为连接IP。