精华内容
下载资源
问答
  • 内容分发网络CDN

    千次阅读 2013-12-13 21:35:08
    1. 内容分发网络 使用GSLB设备可以为用户选择最合适的服务器群,但受Web服务器的负荷和传输距离等因素的影响,响应速度依然经常不能满足用户的需求。这一问题的解决方案就是在传输网络上利用缓存技术使得Web服务...

    1. 内容分发网络

    使用GSLB设备可以为用户选择最合适的服务器群,但受Web服务器的负荷和传输距离等因素的影响,响应速度依然经常不能满足用户的需求。这一问题的解决方案就是在传输网络上利用缓存技术使得Web服务数据流能够就近访问。内容分发网络(CDN)正是这种思想的一个实现,CDN使用GSLB设备将用户引导到最合适的缓存节点(距离近,负载低),使得用户在访问静态内容时获得更好的体验。
    (1) CDN简介
    内容分发网络(Content Delivery Network, CDN)其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因所造成的用户访问网站响应速度慢的问题。

    图 CDN原理图
    (2) CDN组成
    一个CDN网络主要由以下几部分组成:内容缓存设备、内容分发管理设备、本地负载均衡交换机、GSLB设备和CDN管理系统,其网络结构如下图所示:

    图 CDN网络结构
    其中,内容缓存设备Cache用于缓存内容实体和对缓存内容进行组织和管理。当有用户访问该客户内容时,直接由各缓存服务器响应用户的请求。
    内容分发管理设备主要负责核心Web服务器内容到CDN网络内缓存设备的内容推送、删除、校验以及内容的管理、同步。
    GSLB设备则实现CDN全网各缓存节点之间的资源负载均衡,它与各节点的SLB设备保持通信,搜集各节点缓存设备的健康状态、性能、负载等,自动将用户指引到位于其地理区域中的服务器或者引导用户离开拥挤的网络和服务器。还可以通过使用多站点的内容和服务来提高容错性和可用性,防止因本地网或区域网络中断、断电或自然灾害而导致的故障。
    CDN管理系统实现对全网设备的管理,对系统的配置。它不仅能对系统中的各个设备进行实时监控,对各种故障产生相应的告警,还能实时观测到系统中总的流量以及各节点的流量,并保存在系统的数据库中,作为统计分析的基础数据,并对日志文件进行管理、报告,作为计费的基础数据。
    (3) CDN工作流程
    CDN网络结合了GSLB与缓存技术,其工作流程如下图所示:

    图 CDN工作流程
    用户访问某个站点的内容时,若该站点使用了CDN网络,则在用户会在域名解析时获得CDN网络GSLB设备的IP地址。GSLB设备根据其预设的选择策略(如,地理区域、用户时间等)为用户选择最合适的内容缓存节点,并且使用某种方式(如,基于DNS、基于HTTP重定向、基于IP欺骗的方式等)导引用户访问所选的内容缓存节点。
    用户继续向缓存节点发出请求,若缓存中包含请求的内容,则直接返回给用户,否则从核心Web服务器中获取该内容,缓存后返回给用户。这样当用户再次访问相同内容或其他用户访问相同内容时,可以直接从缓存中读取,提高了效率。

    2. CDN内容分发网络
    CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络"边缘",使用户可以就近取得所需的内容,解决Internet网络拥塞状况,提高用户访问网站的响应速度。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。
    IDC建立CDN网络,IDC运营商一般需要有分部各地的多个IDC中心,服务对象是托管在IDC中心的客户,利用现有的网络资源,投资较少,容易建设。
    CDN网络的建设主要有企业建设的CDN网络,为企业服务;IDC的CDN网络,主要服务于IDC和增值服务;网络运营上主建的CDN网络,主要提供内容推送服务;CDN网络服务商,专门建设的CDN用于做服务,用户通过与CDN机构进行合作,CDN负责信息传递工作,保证信息正常传输,维护传送网络,而网站只需要内容维护,不再需要考虑流量问题。

    CDN过程:

     
    通过上图,我们可以了解到,使用了CDN缓存后的网站的访问过程变为:
    1)、用户向浏览器提供要访问的域名;
    2)、浏览器调用域名解析库对域名进行解析,由于CDN对域名解析过程进行了调整,所以解析函数库一般得到的是该域名对应的CNAME记录,为了得到实际IP地址,浏览器需要再次对获得的CNAME域名进行解析以得到实际的IP地址;在此过程中,使用的全局负载均衡DNS解析,如根据地理位置信息解析对应的IP地址,使得用户能就近访问。
    3)、此次解析得到CDN缓存服务器的IP地址,浏览器在得到实际的IP地址以后,向缓存服务器发出访问请求;
    4)、缓存服务器根据浏览器提供的要访问的域名,通过Cache内部专用DNS解析得到此域名的实际IP地址,再由缓存服务器向此实际IP地址提交访问请求;
    5)、缓存服务器从实际IP地址得得到内容以后,一方面在本地进行保存,以备以后使用,二方面把获取的数据返回给客户端,完成数据服务过程;
    6)、客户端得到由缓存服务器返回的数据以后显示出来并完成整个浏览的数据请求过程。
    通过以上的分析我们可以得到,为了实现既要对普通用户透明(即加入缓存以后用户客户端无需进行任何设置,直接使用被加速网站原有的域名即可访问),又要在为指定的网站提供加速服务的同时降低对ICP的影响,只要修改整个访问过程中的域名解析部分,以实现透明的加速服务,下面是CDN网络实现的具体操作过程。
    1)、作为ICP,只需要把域名解释权交给CDN运营商,其他方面不需要进行任何的修改;操作时,ICP修改自己域名的解析记录,一般用cname方式指向CDN网络Cache服务器的地址。
    2)、作为CDN运营商,首先需要为ICP的域名提供公开的解析,为了实现sortlist,一般是把ICP的域名解释结果指向一个CNAME记录;
    3)、当需要进行sorlist时,CDN运营商可以利用DNS对CNAME指向的域名解析过程进行特殊处理,使DNS服务器在接收到客户端请求时可以根据客户端的IP地址,返回相同域名的不同IP地址;
    4)、由于从cname获得的IP地址,并且带有hostname信息,请求到达Cache之后,Cache必须知道源服务器的IP地址,所以在CDN运营商内部维护一个内部DNS服务器,用于解释用户所访问的域名的真实IP地址;
    5)、在维护内部DNS服务器时,还需要维护一台授权服务器,控制哪些域名可以进行缓存,而哪些又不进行缓存,以免发生开放代理的情况。

    实现CDN的主要技术手段是高速缓存、镜像服务器。

    3.CDN的网络架构
    CDN网络架构主要由两大部分,分为中心和边缘两部分,中心指CDN网管中心和DNS重定向解析中心,负责全局负载均衡,设备系统安装在管理中心机房,边缘主要指异地节点,CDN分发的载体,主要由Cache和负载均衡器等组成。
    当用户访问加入CDN服务的网站时,域名解析请求将最终交给全局负载均衡DNS进行处理。全局负载均衡DNS通过一组预先定义好的策略,将当时最接近用户的节点地址提供给用户,使用户能够得到快速的服务。同时,它还与分布在世界各地的所有CDNC节点保持通信,搜集各节点的通信状态,确保不将用户的请求分配到不可用的CDN节点上,实际上是通过DNS做全局负载均衡。
    对于普通的Internet用户来讲,每个CDN节点就相当于一个放置在它周围的WEB。通过全局负载均衡DNS的控制,用户的请求被透明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的请求。由于它离用户更近,因而响应时间必然更快。
    每个CDN节点由两部分组成:负载均衡设备和高速缓存服务器
    负载均衡设备负责每个节点中各个Cache的负载均衡,保证节点的工作效率;同时,负载均衡设备还负责收集节点与周围环境的信息,保持与全局负载DNS的通信,实现整个系统的负载均衡。
    高速缓存服务器(Cache)负责存储客户网站的大量信息,就像一个靠近用户的网站服务器一样响应本地用户的访问请求。
    CDN的管理系统是整个系统能够正常运转的保证。它不仅能对系统中的各个子系统和设备进行实时监控,对各种故障产生相应的告警,还可以实时监测到系统中总的流量和各节点的流量,并保存在系统的数据库中,使网管人员能够方便地进行进一步分析。通过完善的网管系统,用户可以对系统配置进行修改。
    理论上,最简单的CDN网络有一个负责全局负载均衡的DNS和各节点一台Cache,即可运行。DNS支持根据用户源IP地址解析不同的IP,实现就近访问。为了保证高可用性等,需要监视各节点的流量、健康状况等。一个节点的单台Cache承载数量不够时,才需要多台Cache,多台Cache同时工作,才需要负载均衡器,使Cache群协同工作。

    参考自:

    http://sysapp.51cto.com/art/200508/504.htm

    http://blog.csdn.net/u010340143/article/details/9062213

    展开全文
  • cdn内容分发网络

    千次阅读 2018-07-28 12:08:36
    CDN内容分发网络 CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所...

    CDN内容分发网络

    CDN的全称是Content Delivery Network,即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。
    今天我们来应用cdn来发布多台服务器的内容,不仅用来加速客户端访问网络的速度,还可以分担服务器的压力.避免因为访问量过大,导致服务器的雪崩,当然也提高了网络数据的稳定性.
    首先小编为大家带来的是环境的部署,在企业中我们要操作多台企业6.5的服务器,因此我们制作了6.5版本的最简母盘,然后制作了几个子盘。

    母盘设置:

    母盘虚拟机 base rhel6.5->512MB 最小化安装选用RAM为512MB默认为最小化安装,这样的环境比较简易:


    内存大小:

    母盘命名为base

    键盘设置:


    跳过检测:

    区域选择:

    超户密码:


    分区类型:

    初始化所有:

    写入磁盘:

    完成reboot

    封装母盘:

    ip设置:

    yum 源配置:

    更改主机名和域名解析:

    火墙iptables:

    SELINUX:

    物理机上面制作base子盘

    virt-sysprep --help
    如果没有该命令需要yum whatprovides virt-sysprep
    1 yum install /usr/bin/virt-sparsify
    压缩母盘,一般当需要copy母盘文件时
    #virt-sysprep --compress base.qcow2 new.qcow
    2 cd /var/lib/libvirt/images/
    3 ls
    4 ll base.qcow2
    5 virt-sysprep -d base # 清除缓存


    在图形环境中删除母盘但不删除母盘源文件为了以后不打开母盘动用母盘中的东西

    1  virt-manager 
    2  qemu-img create  -f qcow2 -b base.qcow2 test1 #用base.qcow2建立子盘test1
    3  qemu-img create  -f qcow2 -b base.qcow2 test2
    4  qemu-img create  -f qcow2 -b base.qcow2 test3
    5  ls
    6  du -sh base.qcow2  #查看base母盘容量
    7  du -sh test1 
    8  du -sh test2
    9  du -sh test3


    在virt-manager中添加已有镜像test1
    import existing disk image
    并给添加的虚拟机命名为test1 OS type linux Version rhel6.5

    所有的操作都存储在子盘中
    如果删掉了/etc 当重新启动时,虚拟机起不来不用着急,把坏掉的子盘文件删掉重新制作
    添加就ok
    实验:(子盘终端)dd if=/dev/zero of=file bs=1M count=100
    在物理机中查看子盘容量会增加100M du -sh 子盘文件

    1 qemu-img info test1 #查看子盘的母盘是谁
    2 systemctl status libvirtd
    当关闭libvirtd时,在virt-manager中是看不见这些子盘的,但他们还是工作的
    我们可以用ssh 连接它,也可以ping
    3 systemctl stop libvirtd
    4 virsh list
    在物理机中vnet0上没有桥接怎么办
    ip link set up dev vnet0


    kvm(cpu,memory)+qemu(disk,net,i/o)
    虚拟机操作:
    virsh start test1 #开启test1子盘虚拟机

    cdn实验:

    客户端一般访问数据的程序:

    client->dns->cdn->server->cdn->cache->client

    在这里我们让server1作为cdn服务器:
    server2作为http后台终端服务器:

    varnish

    主机环境: rhel6 selinux and iptables disabled
    实验主机: 172.25.30.250
     varnish
    172.25.30.1
     apache
    172.25.30.2
     apache
    172.25.30.3

    VCL 处理流程图


    处理过程大致分为如下几个步骤:
    (1)Receive 状态,也就是请求处理的入口状态,根据 VCL 规则判断该请求应该是 Pass 或
    Pipe,或者进入 Lookup(本地查询)。
    (2)Lookup 状态,进入此状态后,会在 hash 表中查找数据,若找到,则进入 Hit 状态,否则进
    入 miss 状态。
    (3)Pass 状态,在此状态下,会进入后端请求,即进入 fetch 状态。
    (4)Fetch 状态,在 Fetch 状态下,对请求进行后端的获取,发送请求,获得数据,并进行本地
    的存储。
    (5)Deliver 状态, 将获取到的数据发送给客户端,然后完成本次请求。

    **varnish**
    yum install varnish-3.0.5-1.el6.x86_64.rpm  varnish-libs-3.0.5-1.el6.x86_64.rpm
    内核参数<-操作系统<-程序
    vim /etc/security/limits.conf #操作系统
    vim /etc/sysconfig/varnish/ #varnish参数配置设置
    vim /etc/varnish/default.vcl #程序主配置文件

    varnish参数设置:
    当需要在多台服务器上面缓存数据,就需要Varnish映射所有的URL到一台单独的主机

    NFILES========可以打开的最大文件数目
    MEMLOCK=====存储锁定
    NPROCS======进程要求
    VARNISH_LISTEN_PORT=80 =========修改VARNISH监听端口,当Varnish需要访问后端服务器时,就会访问自己的80端口.
    RELOAD_VCL=1====Varnish指定重新reload varnish的时候,重新reload一下VCL配置文件
    VARNISH_VCL_CONF=/etc/varnish/default.vcl #Varnish默认主配置文件
    VARNISH_MIN_THREADS=50 #等待连接后端的最短时间
    VARNISH_MAX_THREADS=1000
    VARNISH_THREAD_TIMEOUT=120 #Varnish中的数据超过120s就会过期
    VARNISH_STORAGE_SIZE=1G #存储空间
    VARNISH_SECRET_FILE==指定shell接口使用的密钥文件
    指定varnish进程的属主和属组
    VARNISH_USER=varnish
    VARNISH_GROUP=varnish# 指定运行时的参数,使用-p选项来指定,thread_pools=6:表示启用6个线程池,thread_pool_min=5:表示每个线程池里面最少5个线程,thread_pool_max=500:表示每个线程池里面最大500个线程,thread_pool_timeout=300:表示线程的请求超时时长
    DAEMON_OPTS=”-p thread_pools=6 -p thread_pool_min=5 -p thread_pool_max=500 -p thread_pool_timeout=300”


        1  vim /etc/sysconfig/varnish
        2  /etc/init.d/varnish restart
        3  sysctl -a |grep file


    根据varnish的参数设置,将系统的内核参数也设置和他匹配从而加快varnish缓存速度:
    vim /etc/security/limits.conf

    在后端服务器上面发布index.html

    1 yum install httpd
    2 /etc/init.d/httpd start
    3 vim /var/www/html/index.html


    配置一个后端服务器:
    测试是否发布:

    1 vim /etc/varnish/default.vcl 
    配置一个后端服务器
    backend web1 {
      .host = "172.25.30.2";
      .port = "80";
    }
    查看缓存命中情况
    sub vcl_deliver {
    if (obj.hits > 0) {
    set resp.http.X-Cache = "HIT from westos cache";
    }
    else {
    set resp.http.X-Cache = "MISS from westos cache";
    }
    return (deliver);
    }
    2 /etc/init.d/varnish restart


    在客户端测试查看发布的信息是否被varnish缓存命中:

       1  vim /etc/hosts #本地域名解析
       2  curl -I www.westos.org
       X-Cache: HIT from westos cache #命中
       X-Cache: MISS from westos cache #未命中
    1:req.:由客户发来的http请求相关
    req.http.:拿到请求报文各个首部值
    例如:req.http.Cookie 拿到请求报文中的Cookie首部的值
    2:resp.:由varnish响应给client的http响应报文
    resp.http. :响应报文的各个首部
    例如:set resp.http.X-Cache = "HIT from " + server.hostname 给X-Cache首部赋值
    3:bereq.:由varnish向backend主机发出的http请求 (backend request:后端主机的请求报文)
    bereq.http. :向backend主机发送的请求报文的对象
    4:beresp.:由backend主机发来的http响应报文
    beresp.http. :由backend主机发来的http的响应报文的对象
    5:obj. :存储在缓存空间中的缓存对象属性
     在编写vcl配置文件中,常用的对象,已经对象的意义说明

    定义多个不同域名站点的后端服务器:

    server3:添加一个http服务器2

     1  yum install httpd -y
     2  /etc/init.d/httpd start 
     3  vim /var/www/html/index.html


    varnish配置多台http服务器:

    vim /etc/varnish/default.vcl
    定义多个不同域名站点的后端服务器
    #当访问www.westos.org 就会从web1(172.25.30.2)中取数据缓存到cdn中,
    当访问bbs.westos.org 就会从web2(172.25.30.3)中取数据缓存到cdn中
    backend web1 {
      .host = "172.25.30.2";
      .port = "80";
    }
    backend web2 {
      .host = "172.25.30.3";
      .port = "80";
    }
    #当访问 www.westos.org 域名时从 web1 上取数据,访问 bbs.westos.org 域名时到 web2 取数据,访问其他页面报错。
    sub vcl_recv {
    if (req.http.host ~ "^(www.)?westos.org") {
        set req.http.host = "www.westos.org";
        set req.backend = web1;}
    elsif (req.http.host ~ "^bbs.westos.org") 
     {
        set req.backend = web2;} 
    else
        {error 404 "westos cache";}
    }

    客户端访问查看是否命中:
    <1>当没有(req.http.host ~ “^(www.)?westos.org”)时在客户端访问westos.org时是不能识别和命中的

    <2>当添加(req.http.host ~ “^(www.)?westos.org”)时在客户端访问westos.com相当于访问www.westos.com


    <3>访问bbs.westos.com即访问服务器3

    把一个文件发布到两个服务器上面,从而缓解后台服务器的压力,提高数据的稳定性,这种情况多用于当访问量过大时负载均衡到两个服务器上,即使有一个服务器坏掉了,还有一个服务器来顶替他的工作。varnish还是可以从终端的服务器中取出客户端访问的数据缓存起来。
    在server3上面发布和server2上一样的网页.

    1 mkdir /www1/
    2 vim /www1/index.html
    www.westos.org --server3/http
    vim /etc/httpd/conf/httpd.conf
    NameVirtualHost *:80 
    #当访问bbs.westos.org域名时,系统默认发布根目录为/var/www/html
    <VirtualHost *:80>
        DocumentRoot /var/www/html
        ServerName bbs.westos.org
    </VirtualHost>
    #当访问bbs.westos.org域名时,系统默认发布根目录为/www1
    <VirtualHost *:80>
        DocumentRoot /www1
        ServerName www.westos.org
    </VirtualHost>
    3 /etc/init.d/httpd restart


    varnish上面部署负载均衡

    1 vim /etc/varnish/default.vcl 
    ## 轮循分配方法round-robin  lb(自定义命名):
    director lb round-robin {
    {.backend = web1;}
    {.backend = web2;}
    }
    sub vcl_recv {
    if (req.http.host ~ "^(www.)?westos.org") {
        set req.http.host = "www.westos.org";
        set req.backend = lb;}
        ## 调用lb,当访问www.westos.org时,轮循访问web1,web2
    #return (pass);
    # http中pass生效表示不在cdn中取缓存数据,直接在后台取数据,这样的话,varnish没有起到任何作用相当于负载均衡,他只是为了在测试中更好的看到实验效果,实际中不需要添加.实验中当清空了缓存数据,有一端的后台服务器挂掉之>后,另一个服务器会顶替他,如果挂掉的服务器数据还在有效期,还是可以在cdn中方问到
    else {
    set resp.http.X-Cache = "MISS from westos cache";
    }
    return (deliver);
    }
    2 /etc/init.d/varnish reload


    pass可以让我们更好地看到实验效果,但他是直接跳过cdn直接从服务器中取数据,并没有什么实际作用。

    注释掉pass之后,我们可以看到客户端访问数据时,如果有一个服务器坏掉了,varnish还是可以从另一个服务器中缓存数据
    我们可以看到即便down掉了后台的一个服务器,在他被varnish缓存数据没有过期时,客户端还是可以访问到,但当他的数据过期时,就要从另一个服务器中缓存了,可以证明,我们访问的数据是从cdn缓存中取到的

    当我们在cdn上把从服务器上缓存清空时,如果有一个服务器坏掉了我们依然能够访问到但此时只有从开启的服务器中缓存数据
    ![](https://img-blog.csdn.net/2018072814594823?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2RyZWFtZXJfeGl4aXhp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70)

    通过 varnishadm 手动清除缓存

    # varnishadm ban.url .*$
    #清除所有
    # varnishadm ban.url /index.html
    #清除 index.html 页面缓存
    # varnishadm ban.url /admin/$
    #清除 admin 目录缓存

    CDN推送平台:

    • 应用于网站信息已经更新但是还在cdn中缓存这样就会导致用户在访问服务器时影响信息的时效性和准确性
    • cdn推送:清除缓存信息,推送什么,清除什么
    • http终端服务器服务要打开:
    • 在cdn服务器上面安装httpd,为了避免和cdn端口冲突,需要将端口改为8080,这里的http安装是为推送cdn平台
    vim /etc/httpd/conf/httpd.conf #修改cdn中的http端口避免和cdn冲突
    /etc/iniit.d/httpd reload
    安装yum install bansys.zip php #banzip.zip给压缩包解压,php推送平台是用php语言写的
    unzip bansys.zip -d /var/www/html/ #-d指定解压路径
    cd /var/www/html/
    cd bansys/
    mv * /var/www/html/
    cd /var/www/html/
    vim config.php #更改
    #只保留如下设置,其余注释掉
    <?php
    $var_group1 = array(
    'host' => array('172.25.30.1'), #varnish服务端
    'port' => '80',
    );
    //varnish 群组定义
    //对主机列表进行绑定
    $VAR_CLUSTER = array(
    'www.westos.org' => $var_group1, 
    );
    //varnish 版本//2.x 和 3.x 推送命令不一样
    $VAR_VERSION = "3";
    ?>
    #bansys 有两种工作模式,分别是:telnet 和 http 模式
    #telnet 模式需要关闭 varnish 服务管理端口的验证,注释掉/etc/sysconfig/varnish 文件中的 “ -S $
    {VARNISH_SECRET_FILE}”这行,重启 varnish 服务即可。
    #如果是 http 模式需要对 varnish 做以下设置:
    vi /etc/varnish/default.vcl
    acl westos {
    #设置访问控制
    "127.0.0.1";
    "172.25.30.1"/24;
    }
    sub vcl_recv {
    if (req.request == "BAN")
    {
      if (!client.ip ~ westos)
        {error 405 "Not allowed.";}
        ban("req.url ~ " + req.url);
        error 200 "ban added";
    }
                 }
    # service varnish reload
     #访问推送:172.25.30.1:8080 -->推送文件
    crul www.westos.org/index.html
    展开全文
  • 摘要: 本文为阿里云P2P内容分发网络(PCDN)实操手册,可根据本文内容接入与操作。参考来源官网文档。 一、 PCDN是定义? P2P 内容分发网络(英文名:P2P CDN,以下简称PCDN)是以P2P技术为基础,通过挖掘...

    摘要: 本文为阿里云P2P内容分发网络(PCDN)实操手册,可根据本文内容接入与操作。参考来源官网文档。

    一、 PCDN是定义?

    P2P 内容分发网络(英文名:P2P CDN,以下简称PCDN)是以P2P技术为基础,通过挖掘利用电信边缘网络海量碎片化闲置资源而构建的低成本高品质内容分发网络服务。客户通过集成PCDN SDK(以下简称SDK)接入该服务后能获得等同(或略高于)CDN的分发质量,同时显著降低分发成本。适用于视频点播、直播、大文件下载等业务场景。

    二、 如何申请免费试用?

    Step 1 登录PCDN控制台(url: pcdn.console.aliyun.com),申请开通PCDN服务


    Step 2 工作人员联系用户,了解用户业务现状和需求
    Step 3 用户确定使用PCDN,工作人员后台为用户开通PCDN服务,并完成用户域名及url规则配置
    Step 4 用户登录控制台,查看域名及终端token,根据帮助文档集成SDK


    Step 5 用户分批次发布应用,开始使用PCDN服务
    Step 6 用户使用控制台或OpenAPI,查询资源用量、域名、支出、日志等信息






    三、 功能介绍

    支持的终端和格式:

    PCDN控制台功能:


    四、 监控报表

    监控报表包含四部分数据,流量带宽、访客数据、服务质量、P2P数据。
    监控报表数据支持按时间、地区、运营商、业务类型、终端类型等条件进行筛选查看。

    注意事项:

    1. 监控报表部分的曲线图数据和计费数据有一定差别,如30天统计曲线取点粒度为14400s,计费数据粒度为300s,故曲线图会忽略掉其中的一些计量点作图,主要用于带宽趋势描述,带宽用量以精确粒度的计费数据为准。

    2. 





    五、 域名管理

    此模块呈现用户的域名列表及当前服务状态信息。服务状态包括:正常、停用。

    注意事项:

    用户域名首先需要在阿里云CDN控制台上完成域名配置。
    PCDN产品一期不开放用户自助开通域名功能,用户提供域名及资源url规则,由用户专属CA/PD协助开通或停用。


    六、 支出

    本模块提供用户每个账期的产品计量数据。
    用户可以通过查看详情,了解到当前账期的全部5分钟粒度带宽数据,自行计算出计量峰值数据。




    七、 日志管理
    此模块提供用户域名维度日志数据的分时下载。

    日志命名规则:
    1. 日志文件按小时粒度分割
    2. 文件命名规则:域名 日期 时段
    3. 日志内容举例


    1. 字段含义说明







    八、设置

    此模块提供账户维度的设置及信息查看,目前可以查看客户终端token。
    终端token是用户调用PCDN SDK时的重要验证信息,PCDN产品通过各终端token实现用户识别和安全校验;下单完成后,用户可以在设置模块查询到各终端token。



    本文为云栖社区原创内容,未经允许不得转载,如需转载请发送邮件至yqeditor@list.alibaba-inc.com

    展开全文
  • MicroMarketMonitor最近的报告中,有人指出,北美内容分发网络市场预计将从2013年的19.5亿美元增长到2019年的78.3亿美元。推动这一增长的一个重要因素是最终用户与在线内容的互动。 与几年前相比,用户和在线内容...

    MicroMarketMonitor最近的报告中,有人指出,北美内容分发网络市场预计将从2013年的19.5亿美元增长到2019年的78.3亿美元。推动这一增长的一个重要因素是最终用户与在线内容的互动。
    与几年前相比,用户和在线内容之间的互动要复杂得多。今天的用户更有可能在家中工作时从手机传输更长的视频或访问SaaS门户。这些是远在五年前不存在的复杂经验。鉴于未来几年CDN市场的预期增长,这篇文章将准确定义
    CDN如何运作:
    CDN具有位于世界各地的存在点(PoP)或数据中心。每个PoP内有数千台服务器。PoP和服务器都有助于加快内容交付给最终用户的速度。
    下面是一个没有CDN的网页如何工作的表示。最终用户请求一个页面,其中从网站的服务器或来源(可能是世界上任何地方)检索所有页面的组件(图像,HTML,动态内容)。在下面的示例中,您可以看到用户位于北美,而保存所请求内容的来源遍布全球。

    以下是表示网页如何使用CDN加载内容的图像。CDN在本地PoP中将所有文件(图像,HTML等)缓存在它们已建立的本地PoP中。因此,当最终用户请求网页时,它加载速度更快。如果CDN没有用户请求的图像或文件,则将根据需要从源加载。

    对于具有动态内容的网站,CDNs方法会发生变化。支持动态内容的CDN创建了一条“超级高速公路”,可以加快内容在更长距离内的传送速度。个别ISP无法提供此功能。在下图中,您可以看到“超级高速公路”有助于促进从原始用户到最终用户的动态内容的传递。

    最后,CDN应该保护自己及其存储的所有数据以及网站来自任何数据泄露或互联网黑客的来源。最常见的数据威胁是各种形式的分布式拒绝服务(DDoS)攻击。CDN具有用于预防,检测和纠正不同形式的DDoS攻击的适当技术。HTTP负载平衡等预防措施具有始终在线的方法,使站点不易受到攻击。CDN中的检测系统会查找可疑行为,并强调需要进行额外的调查和行动。检测的示例可能是流量激增,在这种情况下,CDN提供商具有适当的系统以自动通知负责该网站的人。

    展开全文
  • CDN(内容分发网络)理解

    千次阅读 2015-06-08 13:53:21
     CDN的全称是Content Delivery Network,也就是内容分发网络。   目的是从技术上来提高用户访问网站的响应速度,解决Internet网络拥塞状况,使用户的访问不至于受限于网络带宽小、用户访问量大、应用网点分布不...
  •  随着宽带网络 和宽带流媒体应用 的兴起,CDN (通常被称为内容分发网络Content distribution network,有时也被称作内容传递网络Contentdeliverynetwork)作为一种提高网络内容,特别是提高流媒体内容传输的...
  • CDN(内容分发网络)技术概述

    千次阅读 2016-08-05 12:09:34
    互联网上传递的内容,大部分为重复的Web/FTP数据,Cache服务器及应用Caching技术的网络设备,可大大优化数据链路性能,消除数据峰值访问造成的结点设备阻塞。Cache服务器具有缓存功能,所以大部分网页对象(Web page...
  • CDN(内容分发网络)技术原理

    千次阅读 2019-01-16 23:28:42
    1. 前言  Internet的高速发展,给人们的工作和生活...解决方案就是在网络传输上利用缓存技术使得Web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从而获得高速的体验和品质保证。  网络缓存技术...
  • Azure:内容分发网络(CDN)特性一览

    千次阅读 2012-10-12 22:26:09
    Azure的内容分发网络给开发者提供了一个全球范围的托管于Azure的高带宽内容网络。它使用起来非常简单,http://msdn.microsoft.com/en-us/library/windowsazure/ee795176.aspx详细阐述了其怎么使用。下面主要描述...
  • 随着宽带网络和宽带流媒体应用的兴起,CDN(通常被称为内容分发网络Content distribution network,有时也被称作内容传递网络Contentdeliverynetwork)作为一种提高网络内容,特别是提高流媒体内容传输的服务质量、 ...
  • 直播 CDN 分发网络(基本业务)

    千次阅读 2018-03-07 13:39:56
    直播 CDN 分发网络(基本业务) 传统直播一般是基于 CDN 网络进行分发,可支持大规模并发(并发数取决于 CDN 网络容量)。与传统 CDN 的大文件,小文件分发不同,由于主播分布区域分散,一般除了提供播放端的下行分发...
  • 由于区块链的去中心化特性(即没有一个实体控制其运行),越来越多的人们期待,或者至少是希望,区块链在更多领域发挥其颠覆性潜力。然而,去中心化是有代价的:...在这个模式下,信息在网络中节点间的每一次传输中...
  • 互联网流媒体内容分发方式概述

    千次阅读 2015-08-12 13:08:24
    一、分发方式比较 互联网上的两种主要的分发方式:HLS和RTMP, 什么时候用谁,完全决定于应用场景。 还有其他的分发方式,这些分发方式不属于互联网常见和通用的方式,不予以比较:  . UDP:  譬如YY的实时...
  • 教你写Android网络框架之Http请求的分发与执行

    千次阅读 多人点赞 2015-01-26 12:26:54
    前言 在《教你写Android网络框架》专栏的前两篇博客中,我们已经介绍了SimpleNet框架的基本结构,以及Request、Response、请求队列的实现,以及为什么要这么设计,这么设计的考虑是什么。前两篇博客中已经介绍了各个...
  • 软件定义汽车(Software Defined Vehicles, SDV),软件改变着汽车的DNA,毫无疑问,软件对于汽车的重要性不言而喻,从2016年开始,自动驾驶的大潮来临之际,软件定义汽车已经作为一个趋势和方向,在汽车技术行业,...
  • 工作6,7年了,在实际搭建私有云网络中常用NAS结构,而部署传统RAC集群的时候也需要配SAN网络,对这几种存储方式有直观的了解,却没能理论化系统化的梳理,今天看到一篇讲这方面的文章,我也就搞了个拿来主义,收录到...
  • 2019锐捷OpenDayLight-软件定义网络样题题目及答案 (1)在考试电脑PC1上部署Vmware Workstation软件,并导入ODL集成模板,虚拟机的内存设置为2G。配置IP地址为192.168.1.100/24,网关是192.168.1.254/24。默认...
  • Android Touch事件分发过程

    万次阅读 多人点赞 2014-08-31 13:38:48
    Android Touch 事件分发过程深度分析
  • 100 个网络基础知识普及,看完成半个网络高手

    万次阅读 多人点赞 2019-09-23 11:38:54
    1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备...骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。 4)什么是 LAN? LAN 是局域网的缩写。...
  • 前5篇博文完成了此框架的一大模块—–多线程下载,而这两篇文章实现另一大模块——Http基本框架封装,在上一篇博文中完成了HttpHeader的接口定义和实现、状态码定义及response、request接口封装和实现,定义了许多...
  • 路由重分发

    千次阅读 2013-05-08 19:12:40
    例如isis、rip、ospf、bgp等,在大型公司中经常会出现网络设备之间运行多种网络协议的情况,各种网络协议之间如果不进行一定的配置那么设备之间是不能进行互通信息的,在这种情况下就出现了路由重分发技术,路由重...
  • 对A和B来说,密钥分发的方式有: A选择一个密钥后以物理的方式传递给B 第三方选择密钥后物理地传递给A和B 如果A和B先前或者最近使用过一个密钥,则一方可以将新密钥用旧密钥加密后发送给另一方 如果A和B到第三方...
  • OSPF路由重分发

    千次阅读 2019-05-11 17:25:01
    在现实环境中,一个单一的IP路由协议是管理网络中IP路由的首选方案,但是,在企业环境中,网络中是存在多种路由协议的,如果想要这些网络都互连互通,就要至少有一台路由器运行多种路由协议来实现不同网络之间的通信...
  • 由于此中央管理实体负责终端主机策略的分发,因此,它也是负责协调支持虚拟机放置所需网络变更的最佳人选。这种控制方式可降低网络中策略不一致的可能性,减少SDN 策略广播的延迟,并简化配置和管理工作。    事实...
  • 浅谈软件定义网络(SDN)技术研究现状和发展趋势 长久以来,硬件在网络世界中保持着至高无上的地位。直到2008年斯坦福大学的学者提出 OpenFlow[1],并于2009年将其扩展为 SDN(software-defined networking)概念[2...
  • 流媒体分发方式比较

    千次阅读 2015-06-09 18:03:29
    一、分发方式比较 互联网上的两种主要的分发方式:HLS和RTMP, 什么时候用谁,完全决定于应用场景。 还有其他的分发方式,这些分发方式不属于互联网常见和通用的方式,不予以比较:  . UDP:  譬如YY的实时应用,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 109,741
精华内容 43,896
关键字:

内容分发网络的定义