当前位置: 首页 > wzjs >正文

上海南山做网站含山县住房和城乡建设局网站

上海南山做网站,含山县住房和城乡建设局网站,长春朝阳学校网站建设,太原seo代理商一、背景 上篇文章分析了一下CDN的基本原理以及使用代码实现了一个乞丐版的智能DNS调度器。从整个例子我们可以清晰了解到CDN原理,也就那么回事。 但是,之前也讲过了,CDN产品融合的技术比较杂、也比较多。所以我就想着,万物皆有开…

一、背景

        上篇文章分析了一下CDN的基本原理以及使用代码实现了一个乞丐版的智能DNS调度器。从整个例子我们可以清晰了解到CDN原理,也就那么回事。

        但是,之前也讲过了,CDN产品融合的技术比较杂、也比较多。所以我就想着,万物皆有开源竞品。试着找找有没有现成的开源解决方案。例如Web服务器,我们要构建站点就有开源的Nginx。那我想做CDN的话,也会有对整套的开源解决方案吗?

        找了半天,发现能用的很少。我猜测原因可能是,因为CDN这种技术比较杂、涉及的技术面比较广,不像只单纯研究Web一样研究nginx。所以基本上没开发者去开发这么一套庞大并且涉及技术面很广,又几乎没有人单独自己去部署CDN的需求。 毕竟CDN的边缘节点铺设的密集度、节点稳定性、带宽大小、算力大小等等,不是个人开发者或者普通企业去做的事情。

        只有专业的CDN厂商,才会花费时间去铺设边缘节点,在各个城市大小机房架设节点,还有利用P2P技术、PCDN技术等等,才能为用户提供可靠的、快速的CDN服务,达到加速效果。

        不过我也找到了一款免费开源的类CDN解决方案,可以作为技术学习进行研究,例如整体架构、设计思路,给人一个直观上的感受。这个产品名称为GoEdge

        官网: https://goedge.cloud/

    

        从名称就能看出,使用Go语言进行主要的实现。

二、架构介绍

1、CDN原理分析

        这里借鉴官网文档信息,让大家对CDN的原理再次进行一次记忆加强。

从上图可以看到:

  1. 不同区域或者不同网络的用户,可以通过DNS服务被分配到不同的边缘节点上;
  2. 边缘节点如果已经缓存内容,可以就近直接向用户发送内容;如果还没有缓存内容,则一级一级网上找,直至去源站(即内容提供原始的站点)去获取内容,然后再一级一级返回,直至发送给用户;
  3. 由于边缘节点可以缓存内容,所以可以有以下几个优点:
    1. 降低了网络延时,加速了内容的分发,因为用户可以就近获取内容,就无需跨多个网络千里迢迢访问最原始的服务器;
    2. 大幅降低源站压力,通过边缘节点的分担,源站通常可以减少绝大部分访问;
    3. 增加数据传输的可靠性,因为每个边缘节点都可以独立发送内容,即使源站服务器宕机,也不会影响内容的访问;
    4. 增强了源站的安全性,当遭遇大规模类似于DDOS的攻击时,可以通过边缘节点有效减少到源站的流量,也可以在边缘节点增加防御规则(比如WAF),让攻击的流量无法到达源站,从而提升了源站的安全性。

 2、GoCDN架构图

        存在几个角色的程序:

        1、控制平面, 有后台管理, 可以针对节点管理、节点监控管理、缓存预热等等

        2、边缘节点,实际提供服务的节点,缓存了源站的相关静态数据

        3、API节点,为全局的服务提供一个出入口

三、docker部署GoEdge

1、运行admin控制台

docker-compose.yml如下:

version: "3"networks:goedge:external: falseservices:mysqld:image: mysql:8container_name: mysqldenvironment:- MYSQL_ROOT_PASSWORD=root- MYSQL_USER=edges- MYSQL_PASSWORD=edges- MYSQL_DATABASE=edgesnetworks:- goedgevolumes:- ./data/db/mysql:/var/lib/mysql:rwrestart: alwaysedge-admin:image: icodex/edge-admin:1.3.3container_name: edge-adminports:- 7788:7788/tcp- 8001:8001/tcpnetworks:- goedgevolumes:- ./data/edge-admin/configs:/usr/local/goedge/edge-admin/configs- ./data/edge-api/configs:/usr/local/goedge/edge-admin/edge-api/configsrestart: always

2、安装节点注册到admin控制台

 docker-compose.yml:

version: "3"services:edge-node:image: icodex/edge-node:1.3.3container_name: edge-nodeenvironment:- ENDPOINTS=http://xxx.com:8001     #admin所在信息- CLUSTERID=xxx              #登录控制台后,查看集群节点信息- SECRET=xxx                #登录控制台后,查看集群节点信息network_mode: hostvolumes:- ./data/edge-node/cache:/opt/cache- ./data/edge-node/configs:/usr/local/goedge/edge-node/configsrestart: always

3、配置admin

         进入admin的7788端口,首次进行安装:

 

 

 

 

4、边缘节点管理

        我们可以根据边缘节点,对这些边缘节点进行如停止、重启、查看日志、配置、监控等管理。还可以针对数据进行预热、配置绑定域名、回源站策略等等。

        除了CDN的能力,还有提供了WAF的相关功能。

四、总结

        CDN技术一般只有大厂或者本身就是做CDN的企业才会比较深入研究,所以针对此类开源产品相对较少,开发者不愿意花费很大的精力去研究这种技术。 这种技术要得到市场强大的支持,需要铺设足够多的边缘节点,同时还要保证这些节点的带宽充足、可用性高, 个人开发者没那么多精力和心思去做, 大部分人花点钱买CDN厂家提供的服务也花不了几个钱(静态加速的情况下),没必要去研究太深。

        CDN还涉及P2P分发、PCDN、WAF、DDOS、NAT内网穿透、流量清洗等等,太多东西了,开发者的精力有限,只能这么说.

http://www.dtcms.com/wzjs/589301.html

相关文章:

  • 做企业网站不好混建设网站免费模板下载
  • 石河子做网站企业网站建设代理商
  • 移动网站建设平台兰州网站建设q479185700強
  • 电影网站如何优化以下不属于网站建设优化
  • 开发做一个网站的流程创建网站的准备
  • 新闻源网站怎么做手机网站建设的第一个问题
  • 巴彦淖尔网站网站建设曲阜建设公司网站
  • wordpress 调用模板文件上海做网站优化价格
  • 室内设计招聘网站有哪些西安网站开发托管代运营
  • 如何申请cn域名做网站中国万网域名官网
  • 网站加载慢手机浏览器下载app
  • 免费建站哪个好计算机网络 网站
  • 怎么做室内设计公司网站关于三亚的网页设计
  • 金华网站建设建设设计网站app开发公司怎么学东西
  • 做网站的多钱wordpress旅游社区
  • 特效视频素材网站wordpress不同栏目使用不同模板
  • 网站制作:网推宝|百度网站制作需要多长时间
  • 风险的网站怎么出现微信朋友圈广告如何投放
  • 一台主机做两个网站有创意的个人网站名字
  • 兰州网站建设王道下拉強网站运营方案设计
  • 科技公司网站建设方案书模板正规的网店代运营
  • 凡科做的网站为什么搜不到河南省住建厅网站官网
  • 建设项目管理公司网站营销型网站盈利模式
  • 北京效果好的网站推广asp.net学校网站整站系统源码
  • 教育网站建设网站律师事务所咨询免费
  • 用vs2010做网站教程网络营销策划书ppt
  • 手机wap网站特效军事最新消息新闻
  • 移动网站建设厂家网站搭建赚钱吗
  • 一级a做爰片免费网站天天看手机网站建设计
  • 纯静态 网站网站通知模板