2.2.3 基于云计算平台的架构

目录

2.2.3.1 使用CDN实现应用的缓存和加速

1、CDN简介

 2、CDN主要特点

3、CDN服务模式

        3.1、分发服务系统

        3.2、负载均衡系统

        3.3、运营管理系统

 4、CDN工作流程

    4.1、常规Web请求处理流程:6步

    4.2、引入CDN后Web请求处理流程:7步

 5、CDN关键技术

2.2.3.2 通过DNS实现高可靠的负载均衡和访问提速

1、DNS简介

2、DNS工作原理

    2.1、DNS的域名结构

    2.2、DNS解析域名到IP要经过三个阶段

3、DNS负载均衡

4、DNS与其他负载均衡工具对比

    4.1、DNS负载均衡

    4.2、HTTP重定向

    4.3、反向代理负载均衡

    4.4、NAT负载均衡

    4.5、CDN

    4.6、混合型负载均衡


2.2.3.1 使用CDN实现应用的缓存和加速

1、CDN简介

    CDN的全称是Content Delivery Network,内容分发网络
    1、CDN是构建在网络之上的内容分发网络
    2、CDN使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率
    3、CDN依靠部署在各地的边缘服务器,包括中心平台的负载均衡、内容分发、调度等功能模块

2.2.3 基于云计算平台的架构_第1张图片

dig命令:分析DNS服务解析过程
DNS:
Domain Name System(域名系统),将域名转成IP的服务

2.2.3 基于云计算平台的架构_第2张图片

 2、CDN主要特点

    2.1、本地Cache加速

        提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性

    2.2、镜像服务
        消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量
    2.3、远程加速
        远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问速度
    2.4、带宽优化
        自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,
            减少远程访问的带宽、分担网络流量、减轻原站点Web服务器负载等功能
    2.5、集群抗攻击
        广泛分布的CDN节点加上节点之间的智能冗余机制,
            可以有效地预防黑客入侵以及降低各种D.D.O.S攻击对网站的影响,同时保证较好的服务质量。
        DDOS:Distributed denial of service(分布式拒绝服务)

3、CDN服务模式

    内容分发网络(CDN)是一个策略性部署的整体系统,包括以下3个要件:

        3.1、分发服务系统

            最基本的工作单元就是Cache设备,cache(边缘cache)负责直接响应最终用户的访问请求,
                把缓存在本地的内容快速地提供给用户。同时cache还负责与源站点进行内容同步,
            把更新的内容以及本地没有的内容从源站点获取并保存在本地。
            Cache设备的数量、规模、总服务能力是衡量一个CDN系统服务能力的最基本的指标

        3.2、负载均衡系统

            主要功能是负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址。
            两级调度体系分为:全局负载均衡(GSLB)和本地负载均衡(SLB)
            GSLB主要根据用户就近性原则,通过对每个服务节点进行"最优"判断,确定向用户提供服务的cache的物理位置。
            SLB主要负责节点内部的设备负载均衡
            GSLB:Global Server Load Balancing
            SLB:Server Load Balancing

        3.3、运营管理系统

            分为运营管理和网络管理子系统,负责处理业务层面的与外界系统交互所必须的收集、整理、交付工作,
            包含客户管理、产品管理、计费管理、统计分析等功能。

2.2.3 基于云计算平台的架构_第3张图片

 4、CDN工作流程

    4.1、常规Web请求处理流程:6步

        1、用户在自己的浏览器中输入要访问的网站域名
        2、浏览器向本地DNS(域名解析服务器)服务器请求对该域名的解析
        3、本地DNS服务器中:
                如果缓存有这个域名的解析结果,则直接响应用户的解析请求
                如果没有关于这个域名的解析结果,则以递归方式向整个DNS系统请求解析,获得应答后将结果反馈给浏览器
        4、浏览器得到域名解析结果,就是该域名相应的服务设备的IP地址
        5、浏览器向服务器请求内容
        6、服务器将用户请求内容传送给浏览器

2.2.3 基于云计算平台的架构_第4张图片

    4.2、引入CDN后Web请求处理流程:7步

        1、当用户点击网站页面的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器
        2、CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户
        3、用户向CDN的全局负载均衡设备发起内容URL访问请求
        4、CDN全局负载均衡设备根据用户IP地址,及用户请求的内容URL,选择一台用户所属区域负载均衡设备,
            让用户向这台设备发起请求。
        5、区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务。
        6、用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端
        7、如果这台缓存服务器上并没有用户想要的内容,那么这台服务器就要向它的上一级缓存服务器请求内容,
            直至追溯到网站的原服务器将内容拉到本地

缓存服务器更新方法:定时任务、用户请求加参数,让缓存服务器强制更新

2.2.3 基于云计算平台的架构_第5张图片

 5、CDN关键技术

    缓存算法
        缓存代理软件:Squid
        缓存算法决定命中率、源服务器压力、FTP节点存储能力
        Squid:是一个高性能的代理缓存服务器,Squid支持FTP、gopher、HTTPS和HTTP协议。
                和一般的代理缓存软件不同,Squid用一个单独的、非模块化的、I/O驱动的进程来处理所有的客户端请求
    分发能力
        分发能力取决于IDC能力和IDC策略性分布
        IDC:Internet Data Center(互联网数据中心)
    负载均衡
        负载均衡软件:Nginx
        负载均衡(智能调度)决定最佳路由、响应时间、可用性、服务质量
    基于DNS
        DNS服务器软件:BIND
        BIND:Berkeley Internet Name Domain(伯克利网络域名)
        1、基于DNS的负载均衡以CNAME实现域名中转,智取最优节点服务
        2、缓存点有客户端浏览器缓存、本地DNS服务器缓存
        3、缓存内容有DNS地址缓存、客户请求内容缓存、动态内容缓存
    支持协议
        eg:静动态加速(图片加速、https带证书加速)、下载加速、流媒体加速、企业应用加速、手机应用加速

2.2.3.2 通过DNS实现高可靠的负载均衡和访问提速

1、DNS简介

    DNS:Domain Name System(域名系统),
    其主要作用就是将主机名解析成IP地址的过程,完成了从域名到主机识别IP地址之间的转换。
        1、DNS是一个分布式、分层次的主机名管理架构,通过配置DNS服务器地址,
            主机不需要知道对应的ip地址就能通过主机名的形式访问互联网。
        2、DNS利用类似倒状树的目录结构将主机名的管理分配在不同层级的DNS服务器当中,经过分层管理,
            每一级DNS服务器负责部分域名信息,这就减轻了DNS服务器的负载,同时也方便记录的更新同步。
        3、DNS是一个网络服务,因此就有对应的端口,其端口号为53号。DNS查询的时候,
            是以udp这个较快速的数据传输协议来查询的,但万一没有方法查询到完整的信息时,
            就会再次以tcp这个协定来重新查询,DNS服务在启动的时候会同时开启tcp的53号端口和udp的53号端口。
        4、DNS在进行区域传输的时候使用TCP协议,其他时候则使用UDP协议。
        5、FQDN(Full Qualified Domain Name):完整主机名,是由主机名和域名构成。
            eg:www.baidu.com,当中www就是web网站服务器的主机名,baidu.com就是域名,
            主机名和域名之间用实心点号来表示。
        6、DNS是基于c/s架构(多数基于套接字架构的C/S架构),对于每一级域名长度的限制是63个字符,
            域名总长度则不超过253个字符。
            套接字架构比如:tcp socket
        7、DNS系统记录的信息非常多,不过重点就两个:一个是记录服务器所在的NS(name server)标志,
            另一个是记录主机名对应的A(address)标志。

2、DNS工作原理

    2.1、DNS的域名结构

        1、DNS的域名是倒状的树状结构,在最顶层的是一个根服务器,它主要负责顶级域名的管理。
        2、一级域名共分为三类,组织域、国家域、反响域,最多可以有127级域名。
        3、每一级的域名服务器只负责对应下级的域的管理,其中根节点是分布在世界各地的13台服务器组成,
            其中10台位于美国地区,另外3台设置于英国、瑞典、日本。

2.2.3 基于云计算平台的架构_第6张图片

    2.2、DNS解析域名到IP要经过三个阶段

        1、本地DNS缓存解析
        2、本地DNS服务器解析,递归查询
        3、根域及各级域名服务器解析,迭代查询

2.2.3 基于云计算平台的架构_第7张图片

3、DNS负载均衡

    DNS负载均衡技术的实现原理是:
        在DNS服务器中为同一个主机名配置多个IP地址,多个IP地址以轮询的方式选择。
    使用dig工具查看对域名yes.163.com的解析

2.2.3 基于云计算平台的架构_第8张图片

4、DNS与其他负载均衡工具对比

    4.1、DNS负载均衡

        对同一个请求的域名,映射为不同的服务器IP地址。

    4.2、HTTP重定向

        HTTP代理(eg:浏览器)向Web服务器请求某一url后,Web服务器根据http响应头信息中的location标记来
        返回一个新的url,然后http代理继续请求访问这个新的url。

    4.3、反向代理负载均衡

        反向代理指的是以代理服务器来接收对Web服务器的连接请求,然后转发给内部网络中不同的Web服务器,
        并将从Web服务器请求得到的结果返回给请求连接的客户端,以Nginx为代表

    4.4、NAT负载均衡

        将公网地址映射为多个私网地址,解决IP地址紧张,不想让外部网络知道内部网络结构的问题。

    4.5、CDN

        CDN即Content Delivery Network,内容分发网络。通过发布机制将内容同步到大量的缓存节点,
        并在DNS服务器上进行扩展,找到离用户最近的缓存节点作为服务提供节点。

    4.6、混合型负载均衡

        在有些大型网络,由于多个服务器群内硬件设备、各自的规模、提供的服务等的差异,
        可以考虑给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或
        群集起来以一个整体向外界提供服务(即把这多个服务器群当做一个新的服务器群),从而达到最佳的性能。

你可能感兴趣的:(2.2.3 基于云计算平台的架构)