手机app分发应用分发中的CDN分发原理是什么?为什么可以增加分发速度这个作用?

CDN网络体系结构主要由两部分组成,分为两部分:中心和边缘。中心是指负责全局负载平衡的CDN网络管理中心和DNS重定向解决中心。设备系统安装在控制中心计算机室中。边缘主要是指远程。 CDN分发载体主要由缓存和负载均衡器组成。

当用户访问已订阅CDN服务的网站时,域名解析请求最终将转发到全局负载平衡DNS进行处理。全局负载平衡DNS通过一组预定义的策略为用户提供了当时最接近用户的地址,从而使用户能够获得快速的服务。同时,它与分布在世界各地的所有CDNC保持通信,收集每个的通信状态,确保用户请求不会分布在不可用的CDN上,并且实际上用于通过DNS进行全局负载平衡。

手机app分发应用分发中的CDN分发原理是什么?为什么可以增加分发速度这个作用?

对于普通Internet用户,每个CDN都与其周围部署的WEB相同。通过全局负载平衡DNS的控制,用户的请求被透明地转发到最近的,并且该的CDN服务器像网站的原始服务器一样响应用户的请求。它离用户很近,因此响应时间应该很快。

每个CDN由两部分组成:负载平衡设备和缓存服务器。

负载均衡器负责负载均衡每个上的每个缓存,以确保该的工作效率。同时,负载平衡器负责收集有关和周围环境的信息,维护与全局负载DNS的通信,并实现整个系统的负载平衡。

缓存服务器(Cache)负责在客户端的网站上存储大量信息,并响应来自本地用户(例如靠近用户的网站服务器)的访问请求。

CDN管理系统可确保整个系统的正常运行。不仅可以实时监视系统的各个子系统和设备,并且可以生成各种故障的相应警报,还可以实时监视系统的总体流量和每个的流量并将其存储在系统的数据库中以进行激活。网络管理员可以轻松地执行进一步的分析。完整的网络管理系统允许用户修改系统配置。

从理论上讲,最简单的CDN网络具有负责全局负载平衡的DNS和每个要运行的的缓存。 DNS支持根据用户的源IP地址解析不同的IP,从而允许附近访问。为了确保高可用性,您需要监视每个的流和运行状况。当上的单个缓存数量不足时,需要多个缓存,并且当多个缓存同时运行时,需要负载均衡器以确保缓存组一起工作。

7. CDN示例

商业CDN网络用于服务特性,高可用性等要求很高,有专业的产品和CDN网络解决方案。本文主要从理论角度理解CDN的实现过程,并使用现有的网络环境和开源软件。做完了实际配置可以使您对CDN的特定工作过程有更深入的了解。Linux是一种免费的开源操作系统,已在许多关键领域成功使用。 Bind是类似Unix/FreeBSD/Linux之类的Unix平台上非常流行的DNS服务程序,Internet上超过60%的DNS运行绑定。 Bind的最新版本是9.x。最常用的版本是8.x。绑定9具有许多新功能。其中之一是根据客户端的源地址为同一域名解析不同的IP地址,此功能使您可以将对同一域名的用户访问权限定向到不同区域中的服务器。 Squid是在Linux等操作系统中众所周知的缓存引擎。与商用缓存引擎相比,Squid的性能较低。操作的基本功能原理与商用缓存产品一致。从实验上讲,它很容易配置和运行。下面简要介绍CDN的配置过程。

1.       要加入CDN服务网站,您需要一个域名(例如www.linuxaid.com.cn,地址为202.99.11.120)才能向CDN运营商提供验证权限。对于Linuxaid的域名解析记录,将www主机的A记录更改为CNAME并将其指向cache.cdn.com cache.cdn.comCDN网络自定义的缓存服务器的ID。在/var/named/linuxaid.com.cn上的域名解析记录中,它包含:

www 202.99.11.120

来自wwwCNAME cache.cdn.com

2. CDN操作员获得域名解析权限后,获取指向CDN网络中缓存服务器域名的域名的CNAME记录(例如,cache.cdn.comCDN网络的全局负载平衡DNS)。根据政策,您需要检查CNAME记录。 IP地址通常是最近缓存中的地址。

Bind 9的基本功能可以根据不同的源IP地址段解析对应的IP,并根据最近的区域访问来实现负载均衡。通常,您可以使用Bind 9sortlist选项根据客户端IP地址返回最近的IP地址。流程如下:

1)我为cache.cdn.com设置了多个A记录。 /var/named/cdn.com的内容如下:

$ TTL 3600

@ SOA ns.cdn.com root.ns.cdn.com

                  2002090201;序列号

                  10800 3小时后刷新

                  3600;重试

                  604800;期满

                  1800;寿命

                 

        NS ns

www.210.33.21.168

nsA 202.96.128.68

缓存在A 202.93.22.13;有多少个缓存地址

A 210.21.30.90中缓存;有多少个CACHE A记录兑现A 211.99.13.47

2/etc/named.conf的内容如下。

选项 {

    目录'/var/named'

      排序列表{

#此段表示何时在本地执行查询。

#返回地址的顺序为202.93.22.13210.21.30.90211.99.13.47

          {localhost

              {localnets

                  202.93.22.13

                  {210.21.30.90 211.99.13.47}

              }

          }

#此段指示何时在202/8地址段上进行DNS查询。

#返回地址的顺序为202.93.22.13210.21.30.90211.99.13.47

          {202/8

              {202.93.22.13

                  {210.21.30.90 211.99.13.47}

              }

          }

#此段指示何时在211/8地址段上进行DNS查询。

#返回地址,顺序为211.99.13.47202.93.22.13210.21.30.90

#即211.99.13.47是最靠近查询位置的。

          {211/8

              {211.99.13.47

                  {202.93.22.13 210.21.30.90}

              }

          }

          {61/8

              {202.93.22.13

                  {210.21.30.90 211.99.13.47}

              }

          }

      }

}

''{类型提示;

    文件'root.cache'

}

区域“本地主机” {

      类型主机;

      文件'localhost'

}

zone'cdn.com'{

    类型主机;

      文件“ cdn.com”;

}

3.如果高速缓存在CDN网络上以服务器模式运行,则由于服务器的URL记录在配置中,因此高速缓存直接匹配用户请求并从源服务器获取内容并将其缓存以备下次使用。如果缓存在客户端上工作,则在模式下,缓存需要知道原始服务器的IP地址,因此CDN网络将为缓存维护并运行DNS服务器,以解析域名的真实IP地址(如202.99.11.120)。每个域名的验证记录与加入CDN网络之前的记录相同。

4.CDN网络上运行的缓存服务器应以透明的方式运行,并且应为Squid设置以下参数:

httpd_accel_host虚拟

httpd_accel_port 80

httpd_accel_with_proxy开启

httpd_accel_uses_host_header

 

本文来自投稿,不代表亲测学习网立场,如若转载,请注明出处:https://www.qince.net/%e6%89%8b%e6%9c%baapp%e5%88%86%e5%8f%91%e5%ba%94%e7%94%a8%e5%88%86%e5%8f%91%e4%b8%ad%e7%9a%84cdn%e5%88%86%e5%8f%91%e5%8e%9f%e7%90%86%e6%98%af%e4%bb%80%e4%b9%88%ef%bc%9f%e4%b8%ba%e4%bb%80%e4%b9%88.html

郑重声明:

本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。

我们不承担任何技术及版权问题,且不对任何资源负法律责任。

如遇到资源无法下载,请点击这里失效报错。失效报错提交后记得查看你的留言信息,24小时之内反馈信息。

如有侵犯您的版权,请给我们私信,我们会尽快处理,并诚恳的向你道歉!

(0)
上一篇 2022年6月28日 上午12:49
下一篇 2022年6月28日 上午12:49

猜你喜欢