L2节点

此功能为商业版功能

在v0.4.7以后,可以将一些节点设置为L2级别,称为L2节点,作用是当其他节点(L1节点)找不到目标缓存时,自动通过L2节点集中回源,可以大幅减少回源次数,在实践中往往可以提升20%-40%的缓存命中率。

开启L2节点

在节点–“节点设置”–“基础设置”–“更多选项”–“级别”中选择L2节点:

Ln-1.png

设置后,当前L2级别节点所在节点分组下的其他节点(L1节点)如果找不到用户所请求的缓存时,会自动通过L2节点回源:

               Origin Server
                 /|\
                  |
                  |
               L2 Node
                 /|\
                  |
|-----------------|--------------|
|                 |              |
L1 Node 1 |   L1 Node 2  |   L1 Node 3
|                                |
|--------------------------------|
                 /|\
                  |
              User Client

L2节点在回源成功并将内容写入到本地的同时,也会同步将内容发送给L1节点,L1节点收到内容后,将内容发送给用户的同时,也会写入本地。L2节点和L1节点的缓存时间将是同步的。

由于主要通过L2节点回源,所以L2节点通常需要更好的硬件(建议使用SSD硬盘)和带宽配置。

多个L2节点

一个集群或分组下可以设置多个L2节点,如果一个L1节点有多个L2节点可用,将会每次都随机选取一个作为父节点回源。

从v0.5开始,在用户发起请求失败时,如果有多个L2节点,也会自动尝试下一个L2节点,以提升请求成功率。

L2节点作用范围

Ln-4.png

如果L2节点在一个分组里,那么它只会当前分组下的其他L1节点有效,也就是说,其他分组里的节点或者没有设置分组的节点将无法用到此节点。

如果L2节点不在一个分组里,那么它会对整个集群下的其他L1节点有效,即本集群下的所有L1节点都可以用到此节点,除非一个L1节点在一个分组里,且这个分组里已经设置了一个或多个L2节点。

IP地址

在默认情况下,边缘节点访问L2级别节点时,将使用L2节点设置的”IP地址”。

在v0.5.2以后,可以为L2级别节点专门指定一组被边缘节点访问的IP地址,方便和节点公开的IP地址分开;如果你的边缘节点和L2级别节点在同一个局域网,那么就可以在L2级别访问地址中填写局域网的IP,以节约带宽和提升访问速度:

Ln-3.png

在这个示例中,同个界面上的IP地址仍然可以填公网地址,是用户访问的地址;而”L2级别访问地址”是供别的边缘节点访问地址。

域名解析

默认情况下,L2节点也会自动在域名解析中增加对应的记录,同普通的边缘节点一样,类似于:

local.goedge.cn	A	8.8.8.8
这样,L2节点同时也可以直接被用户访问。

从v0.5.2开始起,如果你不想让L2节点能直接被用户访问到,可以在”集群设置” – “DNS设置” – “更多选项” – “包含Ln节点”,取消勾选,即表示域名解析中不包含L2及以上级别节点,这样用户通过域名解析分配到的节点就只能是普通的边缘节点(下图示例中默认是勾选的,如果想取消,点击取消勾选即可):

Ln-2.png

非缓存流量走L2节点

默认情况下,只有缓存流量才走L2节点,如果你想让你的网站中非缓存流量也走L2节点,可以在对应集群 “设置” – “网站设置” 中选中 “强制Ln请求” 选项并保存。

常见问题

L2节点需要单独开放端口吗?

L2节点的访问方法、端口和普通边缘节点是一样的,除了服务自己设置的端口之外(比如常见的80/443),不需要单独设置别的端口。

L2节点的WAF会影响别的节点访问吗?

不会。在别的边缘节点访问L2节点时,会自动停用WAF,不会导致别的节点因为WAF而被封禁。

L2节点支持TCP负载均衡和UDP负载均衡吗?

不支持,TCP负载均衡、UDP负载均衡无法使用L2节点。

GoEdge文档