2.2.3.2 通过DNS实现高可靠的负载均衡和访问提速
2.2.3.1 使用CDN实现应用的缓存和加速 1、CDN简介
CDN的全称是Content Delivery Network,内容分发网络
1、CDN是构建在网络之上的内容分发网络
2、CDN使用户就近获取所需内容,降低网络
目录 2.2.3.1 使用CDN实现应用的缓存和加速 1、CDN简介 CDN的全称是Content Delivery Network,内容分发网络 1、CDN是构建在网络之上的内容分发网络 2、CDN使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率 3、CDN依靠部署在各地的边缘服务器,包括中心平台的负载均衡、内容分发、调度等功能模块 dig命令:分析DNS服务解析过程 DNS:Domain Name System(域名系统),将域名转成IP的服务 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、运营管理系统 分为运营管理和网络管理子系统,负责处理业务层面的与外界系统交互所必须的收集、整理、交付工作, 包含客户管理、产品管理、计费管理、统计分析等功能。 4、CDN工作流程 4.1、常规Web请求处理流程:6步 1、用户在自己的浏览器中输入要访问的网站域名 2、浏览器向本地DNS(域名解析服务器)服务器请求对该域名的解析 3、本地DNS服务器中: 如果缓存有这个域名的解析结果,则直接响应用户的解析请求 如果没有关于这个域名的解析结果,则以递归方式向整个DNS系统请求解析,获得应答后将结果反馈给浏览器 4、浏览器得到域名解析结果,就是该域名相应的服务设备的IP地址 5、浏览器向服务器请求内容 6、服务器将用户请求内容传送给浏览器 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、如果这台缓存服务器上并没有用户想要的内容,那么这台服务器就要向它的上一级缓存服务器请求内容, 直至追溯到网站的原服务器将内容拉到本地 缓存服务器更新方法:定时任务、用户请求加参数,让缓存服务器强制更新 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就是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、DNS解析域名到IP要经过三个阶段 1、本地DNS缓存解析 2、本地DNS服务器解析云计算架构图,递归查询 3、根域及各级域名服务器解析,迭代查询 3、DNS负载均衡 DNS负载均衡技术的实现原理是: 在DNS服务器中为同一个主机名配置多个IP地址,多个IP地址以轮询的方式选择。 使用dig工具查看对域名yes.163.com的解析 4、DNS与其他负载均衡工具对比 4.1、DNS负载均衡 对同一个请求的域名,映射为不同的服务器IP地址。 (编辑:海南站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |