学到了「分布式边缘节点CDN/WAF集群-GoEdge!免费,精品开源!」分布式算法原理分布式计算原理
GoEdge是一款管理分布式CDN边缘节点的开源工具软件,目的是让用户轻松地、低成本地创建CDN/WAF等应用。
一、初始CDN原理
从上图可以看到:
1.不同区域或者不同网络的用户,可以通过DNS服务被分配到不同的边缘节点上;
2.边缘节点如果已经缓存内容,可以就近直接向用户发送内容;如果还没有缓存内容,则一级一级网上找,直至去源站(即内容提供原始的站点)去获取内容,然后再一级一级返回,直至发送给用户;
3.由于边缘节点可以缓存内容,所以可以有以下几个优点:
a.降低了网络延时,加速了内容的分发,因为用户可以就近获取内容,就无需跨多个网络千里迢迢访问最原始的服务器;
b.大幅降低源站压力,通过边缘节点的分担,源站通常可以减少绝大部分访问;
c.增加数据传输的可靠性,因为每个边缘节点都可以独立发送内容,即使源站服务器宕机,也不会影响内容的访问;
d.增强了源站的安全性,当遭遇大规模类似于DDOS的攻击时,可以通过边缘节点有效减少到源站的流量,也可以在边缘节点增加防御规则(比如WAF),让攻击的流量无法到达源站,从而提升了源站的安全性。
在GoEdge中,为了简化网络结构,我们暂时没有提供中心节点和区域节点,但是提供了L2节点(也叫汇聚回源节点,仅商业版可用),所以GoEdge的网络结构如下:
二、整体架构
其中:
边缘节点 - 接收和响应用户请求的终端节点管理员系统 - 整体的管理控制系统API集群- 一组API节点,为别的类型节点提供数据和运算支持用户系统 - 为租户提供管理系统(商业版专属)区域监控系统 - 在各个区域监控节点端口连通性(商业版专属)DNS系统- 一套可以自行搭建的域名解析系统(商业版专属)数据库集群 - 存储系统需要持久化的数据三、项目编译和安装使用
要想从源码运行或者编译GoEdge,需要分别编译EdgeAdmin、EdgeAPI、EdgeNode等组件。从Github上对应仓库下载各个组件的源码后,建议的整体源码结构为:
EdgeProject/
EdgeAdmin # 管理平台
EdgeAPI # API节点
EdgeNode # 边缘节点
EdgeCommon # 公共依赖
....
源码下载地址:
GitHub: https://github.com/TeaOSLab
用户可以通过安装包一键安装EdgeBoot管理平台,EdgeBoot下载地址:
EdgeBoot 通用版本
国内地址:https://dl.goedge.cn/edge-boot/linux/amd64/edge-boot海外地址:https://global.dl.goedge.cn/edge-boot/linux/amd64/edge-boot效果演示
学到了「分布式边缘节点CDN/WAF集群-GoEdge!免费,精品开源!」分布式算法原理分布式计算原理