大家好,欢迎来到IT知识分享网。
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
效果演示
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/152575.html