欢迎光临散文网 会员登陆 & 注册

Kubernetes系统精讲 Go语言实战K8S集群可视化-白首同归空有约

2023-04-04 18:15 作者:bili_68802470155  | 我要投稿


摘要CDN的全称是(Content Delivery Network),即内容分发网络。

Kubernetes系统精讲 Go语言实战K8S集群可视化

download:https://www.zxit666.com/

其目的是经过在现有的Internet中增加一层新的CACHE(缓存)层,将网站的内容发布到最接近用户的网络”边缘“的节点,运用户能够就近获得所需的内容,进步用户访问网站的响应速度。从技术上全面处理由于网络带宽小、用户访问量大、网点散布不均等缘由,进步用户访问网站的响应速度。简单的说,CDN的工作原理就是将您源站的资源缓存到位于全球各地的CDN节点上,用户恳求资源时,就近返回节点上缓存的资源,而不需求每个用户的恳求都回您的源站获取,防止网络拥塞、缓解源站压力,保证用户访问资源的速度和体验。
一、CDN加速原理
的解析记载,DNS调度系统将为其分配最佳节点IP地址。Local DNS获取DNS调度系统返回的最佳节点IP地址。Local DNS将最佳节点IP地址返回给用户,用户获取到最佳节点IP地址。用户向最佳节点IP地址发起对该资源的访问恳求。假如该最佳节点已缓存该资源,则会将恳求的资源直接返回给用户(步骤8),此时恳求完毕。假如该最佳节点未缓存该资源或者缓存的资源曾经失效,则节点将会向源站发起对该资源的恳求。获取源站资源后分离用户自定义配置的缓存战略,将资源缓存到CDN节点并返回给用户(步骤8),此时恳求完毕。二、CDN的应用场景和作用CDN的应用场景如下表所示。可运用CDN加速的站点主要包括媒体站点、网页站点和下载站点,下表列出了每个站点适用的场景。
适用于网站或应用中小文件的加速分发,例如各种门户网站、电子商务类网站、新闻资讯类网站或应用、文娱游戏类网站等。
大文件
适用于各类大文件的下载和分发加速,例如游戏装置包、应用更新、手机ROM晋级、应用程序包下载等,均匀单个文件大小在20 MB以上。
频音点播
适用于各类视音频网站,例如影视类视频网站、在线教育类视频网站、新闻类视频网站、短视频社交类网站以及音频类相关网站和应用,支持MP4、FLV等主流视频格式。
图片小文件


图片小文件适用于网站或应用中小文件的加速分发,例如各种门户网站、电子商务类网站、新闻资讯类网站、文娱游戏类网站等。您需求将源站内容停止动静态别离,静态内容运用CDN加速,例如图片、CSS、JS小文件等;
CDN加速图片小文件业务能够帮您处理以下问题:
终端用户访问慢:网站小文件内容多、翻开速度太慢。跨区域访问质量差:终端用户散布在不同区域,不同区域的访问速度和质量上下不一。高并发压力大:运营推行期间,源站效劳器压力大,效劳器容易解体,形成效劳不可用。图片格式分辨率处置复杂:无法依据合适的终端状况停止图片紧缩和优化。大文件下载
大文件下载适用于各类大文件的下载和分发加速,例如游戏装置包、应用更新、手机ROM晋级、应用程序包下载等,均匀单个文件大小在20 MB以上。
CDN加速大文件下载业务能够帮您处理以下问题:
终端用户无法下载或者下载太慢。网络环境不稳定时,下载容易中缀,重新下载会消耗额外的资源。网站内容不平安,容易被劫持或者盗链,对业务形成额外的损失。高并发下载或者下载突增场景下对源站性能请求十分高,且源站的带宽本钱也较高。视音频点播
视音频点播适用于各类视音频网站,例如影视类视频网站、在线教育类视频网站、新闻类视频网站、短视频社交类网站以及音频类相关网站和应用,您能够运用CDN产品完成对音视频内容的文件分发和访问加速。
CDN加速视音频点播业务能够帮您处理以下问题:
终端用户访问视频时打不开视频或容易卡顿,观看不流利。视频资源容易被劫持或盗用,版权得不到有效维护。高并发访问或者访问突增场景下对源站性能请求十分高,且源站的带宽本钱也较高。运用CDN能够帮您完成静态资源的加速和分发,进步资源访问速度:
丰厚的资源节点:为用户提供就近接入的同运营商CDN节点,处理长间隔接入和跨运营商访问带来的延迟高和速度慢的问题。资源可弹性扩展:基于全球2800+节点,资源可弹性扩展,完成业务高可用。精准的调度系统:实时获取CDN节点的安康情况,并依据用户所在位置和运营商来分配最佳接入节点,以便获得最佳接入效果。智能的传输链路:经过协议优化、衔接优化等措施来降低总体时延、进步传输速度,特别是进步弱网环境下的传输速度。高效的缓存战略:可以带来更高的缓存命中率,命中就近节点上的远程资源,提供高效地访问速度。降低您的IT本钱:可将您的业务算力、带宽、衔接数转移到CDN边缘节点,降低您的IT本钱。强大的带宽输出才能:全网带宽输出才能达150 Tbps。提供行业通用规范API:进步易用性和适用性。三、CDN的系统架构CDN的产品架构图,由调度系统、链路质量系统、缓存系统和支撑系统这四大系统组成。


CDN的产品架构图阐明
调度系统:支持战略中心、DNS、HTTPDNS和302调度形式。当终端用户发起访问恳求时,用户的访问恳求会先停止域名DNS解析,然后经过CDN的调度系统处置用户的解析恳求。链路质量系统:链路质量探测系统会实时监测缓存系统中的一切节点和链路的实时负载以及安康情况,并将结果反应给调度系统,调度系统依据用户恳求中携带的IP地址解析用户的运营商和区域归属,然后综合链路质量信息为用户分配一个最佳接入节点。缓存系统:用户经过收到的最佳接入节点访问对应的缓存节点,假如节点曾经缓存了用户恳求的资源,会直接将资源返回给用户;假如L1(边缘节点)和L2(会聚节点)节点都没有缓存用户恳求的资源,此时会返回源站去获取资源并缓存到缓存系统,供后续用户访问,防止反复回源。分级缓存的部署架构可进步内容分发效率、降低回源带宽以及提升用户体验。支撑效劳系统支撑效劳系统包括天眼、数据智能和配置管理系统,分别具备了资源监测、数据剖析和配置管理才能。资源监测:天眼能够对缓存系统上用户业务运转的状态停止监测。例如对CDN加速域名的QPS、带宽、HTTP状态码等常见指标的监控。数据剖析:用户能够剖析CDN加速域名的TOP URL、PV、UV等数据。配置管理:经过配置管理系统,用户能够配置缓存文件类型、缓存时去参数缓存等缓存规则,以提升缓存系统的运作效率。3.2 CDN网络的根底概念源站,指您运转业务的网站效劳器,是加速分发数据的来源。源站可用来处置和响应用户恳求,当边缘节点没有缓存用户恳求的内容时,节点会返回源站获取资源数据并返回给用户。CDN的源站能够是对象存储OSS、函数计算、自有源站(IP、源站域名)。
边缘节点是CDN用于缓存源站资源,以便快速响应不同地域用户恳求的网络节点。在CDN的协助文档中,边缘节点、CDN节点、Cache节点、缓存节点、加速节点、节点等都指CDN的边缘节点。
加速域名,是您接入CDN用于加速、终端用户实践访问的域名。例如,您将域名aliyundoc.com接入DN,aliyundoc.com即为加速域名。
CDN经过加速域名,将源站资源缓存到CDN加速节点,完成资源访问加速。在DN的协助文档中,加速域名通常被简写为域名。域名(Domain Name)又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的称号,用于在数据传输时标识计算机的电子方位(有时也指天文位置)。
CNAME(Canonical Name)记载,指域名解析中的别名记载,用来把一个域名解析到另一个域名(CNAME域名),再由CNAME域名来解析到需求访问的效劳器IP地址。
CNAME域名,是CDN生成的,当您在CDN控制台添加加速域名后,系统会为加速域名分配一个*.*kunlun*.com方式的CNAME域名。阐明 CDN产品经过散布普遍的CDN边缘节点来为最终用户提供加速效劳,不同区域或者不同运营商的用户访问到的CDN节点IP地址是不同的,因而加速域名就无法经过DNS的A记载解析的方式独一解析到某个IP地址,这个时分就引入了CNAME域名。添加加速域名后,您需求在您的DNS解析效劳商处,添加一条CNAME记载,将加速域名独一解析到CNAME域名,记载生效后域名解析就正式转向CDN效劳,该域名一切的恳求都将转向CDN的边缘节点,到达加速效果。CNAME域名将会解析到详细哪个CDN节点IP地址,将由CDN的调度系统来综合区域、运营商、节点资源水位等多个条件来决议。
静态内容是指用户屡次恳求某一资源,响应返回的数据都是相同的内容。例如图片、视频、网站中的文件(HTML、CSS、JS)、软件装置包、APK文件、紧缩包文件等。CDN经过加速域名将源站的静态资源缓存到CDN遍及全球的加速节点上,供用户就近访问,完成资源访问加速。
动态内容是指用户屡次恳求某一资源,响应返回的数据可能是不同的内容。例如网站中的文件(ASP、JSP、PHP、PERL、CGI)、API接口、数据库交互恳求等。
DNS(Domain Name System)即域名解析效劳,主要功用是将域名解析为网络能够辨认的IP地址,即域名解析。人们习气记忆域名,但机器间相互只辨认IP地址。域名解析需求由特地的DNS效劳器来完成,整个过程自动停止。例如,您上网时输入域名aliyundoc.com会自动转换成10.10.10.10(举例阐明,详细IP以实践为准)。
SSL(Secure Sockets Layer)即平安套接字协议,SSL协议位于TCP/IP协议与各种应用层协议之间,能够有效辅佐Internet上的应用软件提升通讯时的材料完好性及平安性。IETF将SSL规范化后称号被改为TLS(Transport Layer Security),即传输层平安协议,因而通常将两者并称为SSL/TLS。
当用户经过阅读器发送恳求时,假如CDN节点未缓存恳求的资源或缓存资源已到期,此时会回源站获取资源并返回给用户,该过程被称为回源。
回源HOST,即CDN节点回源时实践恳求的域名。当源站效劳器上提供多个域名效劳时,您可依据业务需求指定CDN节点回源时在访问的详细域名。例如,您希冀CDN回源时实践恳求的地址为aliyundoc.com,与加速域名www.aliyundoc.com不同,那么您需求配置回源HOST为aliyundoc.com。
回源协议,指CDN节点回源时运用的协议,有可能与客户端访问资源时运用的协议相同,也有可能不相同。例如,当客户端运用HTTPS方式恳求未缓存在CDN节点上的资源时,能够配置CDN节点运用HTTPS协议回源站获取资源,也能够配置运用HTTP协议回源(源站不支持HTTPS协议的状况下)。
SNI(Server Name Indication)是对SSL/TLS协议的扩展,可用来处理一个HTTPS效劳器(同一个IP地址)具有多个域名,但是无法肯定客户端到底恳求的是哪一个域名的效劳的问题。
当您的源站IP绑定了多个域名,且CDN回源协议为HTTPS时,可经过配置回源SNI,来指明客户端从哪个域名获取资源,效劳器会依据配置的SNI信息返回正确的证书给客户端。
Range回源,指CDN节点在回源的HTTP恳求里面携带了Range信息,源站在收到CDN节点的回源恳求时,依据HTTP恳求头中的Range信息返回指定范围的内容数据给CDN节点,例如只返回某个文件的0-100Byte范围内的数据。
在视频点播、软件下载等大文件内容分发场景下,Range回源可有效进步文件分发效率,能够进步缓存命中率,减少回源流量耗费和源站压力,并且提升资源响应速度。阐明 Range是HTTP恳求头之一,可用来指定需获取的内容的范围。
回源302跟随,指CDN节点替代客户端直接处置源站响应的302状态码的内容,可减少处置流程,加快获取资源的速度。
Referer防盗链,是基于HTTP恳求头中Referer字段(例如,Referer黑白名单)来设置访问控制规则,完成对访客的身份辨认和过滤,避免网站资源被非法盗用。配置Referer黑白名单后,CDN会依据名单辨认恳求身份,允许或回绝访问恳求。阐明 Referer是HTTP恳求头的一局部,携带了HTTP恳求的来源地址信息(协议+域名+查询参数),可用于辨认恳求的来源。
带宽封顶,指经过设置带宽上限,来控制带宽用量,减少因突发流量招致的损失。当指定加速域名在统计周期(1分钟)内产生的均匀带宽超出预设上限,CDN将中止为该域名提供加速效劳,且该域名会自动下线,并被解析到无效地址offline.***.com,无法被继续访问。
缓存过时时间,指资源在CDN节点上缓存的时长。资源过时后会自动从CDN节点删除,用户向CDN节点发起的访问恳求会被断定为未命中缓存,CDN节点会自动回源站获取最新资源返回给用户,并缓存到CDN节点。
跨域资源共享(CORS),是一种基于HTTP头的访问控制机制,允许Web效劳器声明哪些源站(指定的域名、协议、端口)有权限经过阅读器访问指定资源。
边缘脚本(EdgeScript,简称ES)是一个可供您快速完成CDN/DCDN定制配置的工具箱,当CDN/DCDN控制台上的规范配置无法满足您的业务需求时,能够运用边缘脚本经过简单地编程完成定制化业务需求。
边缘程序(EdgeRoutine,简称ER)是一个运转在全球边缘节点上的JavaScript代码运转环境,支持ES6语法和规范的Web Service Worker API。您能够将自行开发的JavaScript代码发布至全球边缘程序运转,在全球边缘节点上就近地处置客户端的恳求。
HSTS(HTTP Strict Transport Security,HTTP 严厉传输平安),是一种网站用来声明他们只能运用平安衔接(HTTPS)访问的办法。网站可经过声明HSTS,来强迫客户端(如阅读器)只能运用HTTPS与效劳器衔接,回绝一切的HTTP衔接并阻止用户承受不平安的SSL证书,降低第一次访问恳求被拦截的风险。详细配置办法,请参见 配置HSTS。
例如,未开启HSTS的状况下,当您源站运用HTTPS恳求时,在阅读器输入HTTP链接,用户恳求访问到效劳器上的时分,效劳器会将该HTTP恳求301或302重定向到HTTPS,在用户恳求以HTTP协议访问效劳器的过程中,HTTP恳求可能被歹意拦截或者窜改,存在平安隐患。开启了HSTS以后,客户端只能运用HTTPS协议访问效劳器,这样就能够根绝这类隐患。
QUIC(Quick UDP Internet Connections)是一个基于UDP的通用网络协议,可以保证网络平安性(与TLS/SSL相当),同时具有更低的衔接和传输延时,有效防止网络梗塞,在丢包和网络延迟严重的状况下仍可提供可用的效劳。
QUIC在应用程序层面就能完成不同的拥塞控制算法,不需求操作系统和内核支持,相比于传统的TCP协议,具有更好的改造灵敏性,十分合适在TCP协议优化遇到瓶颈的业务。
HTTP状态码(英文:HTTP Status Code),是用来表示HTTP响应状态的数字代码,可用来判别和剖析效劳器的运转状态。当客户端(例如阅读器)向效劳器发出恳求时,效劳器会返回一个包含HTTP状态码的信息头来响应客户端的恳求,经过状态码通知客户端当前恳求响应的状态。
HTTP常见状态码分类:
1xx:音讯2xx:胜利3xx:重定向4xx:客户端错误5xx:效劳器错误四、CDN与全站加速的区别比照项
CDN
全站加速
典型应用场景
手机App更新、游戏包更新、视频点播(长视频、短视频)、图文网站。
在线商城、在线支付、聊天互动、在线教育、全球对战游戏、金融理财。
掩盖范围
仅中国内地全球全球(不包含中国内地)仅中国内地全球全球(不包含中国内地)加速方式
以静态内容加速为主,适用于高带宽大流量场景,动态资源直接回源。


经过全球2800+边缘节点,基于缓存战略存储您的业务内容。基于源站负载平衡、回源权重管理、回源流量卸载等技术控制回源流量,维护源站同时降低源站本钱。将效劳器上的图片、视频等静态资源缓存在CDN边缘节点,供用户从最近的节点获取静态资源。支持纯动态加速和动静态混合加速。


纯动态加速 针对POST恳求等不能在边缘缓存的业务,基于智能选路技术,从众多回源线路中择优选择一条线路停止传输。动静态混合加速 智能辨认动态和静态资源,静态资源缓存在边缘节点,供用户就近访问;动态资源基于智能选路技术,从众多回源线路中择优选择一条线路停止传输。协议支持
应用层:支持HTTP、HTTPS、QUIC协议。网络层:支持IPv4、IPv6协议。应用层:支持HTTP、HTTPS、WebSocket协议。传输层:支持TCP、UDP协议。网络层:支持IPv4、IPv6协议。调度形式
支持DNS、HTTPDNS、302调度。
支持DNS、HTTPDNS、302调度。
边缘计算
经过EdgeScript边缘脚本,完成可编程CDN的业务逻辑。图片处置。支持在边缘节点运用EdgeRoutine构建边缘程序,例如A/B Test、预热等。经过EdgeScript边缘脚本,完成可编程CDN的业务逻辑。图片处置。五、CDN的性能权衡指标您能够经过CDN的性能权衡指标,察看运用CDN前后网站加速的状况,评价CDN加速的效果,协助您更好地做出业务调整和决策。权衡指标主要包括:您能够依据以下通用性能指标(包括但不限于),察看运用CDN前后您的网站状况。
通常运用CDN后的网络延时、丢包率、回源率都会降低,缓存命中率则会进步。但是由于业务场景和业务类型不同,即便您选择了相同配置的CDN效劳,实践产生的加速效果也不相同,因而本文仅提供了定性的指标以供观测。表格中提到的回源率、缓存命中率是指运用CDN后的权衡指标,假如您没有运用CDN,回源恳求数为100%,缓存命中率为0。数据上传途径


数据下载途径

指标
阐明
DNS时间
指从阅读器终端发起的访问恳求开端,到阅读器终端取得最终访问主机IP地址所耗费的时间。
TCP时间
指客户端与目的效劳器树立TCP衔接所耗费的时间。
SSL时间
指客户端和Web效劳器树立平安套接层(SSL)衔接的耗费时间。
发送时间
指SSL握手完成开端发送恳求到恳求发送完成所耗费的时间。
树立衔接时间
树立衔接时间简称为建连时间,假如CDN节点运用HTTP协议加速客户业务,建连时间包含“DNS时间+TCP时间”;假如CDN节点运用HTTPS协议加速客户业务,建连时间包含“DNS时间+TCP时间+SSL时间”。树立衔接的时间长短,能够反映CDN效劳的节点资源掩盖的丰厚水平以及调度才能。
响应时间
指阅读器发出HTTP恳求后,Web效劳器停止后台处置以及响应的时间。
下载用时
指您收到Web效劳器返回的第一个数据包,到完成下载的总时间。
首包时间
指从客户端开端发送恳求到收到效劳器端返回的第一个HTTP协议数据包之间所需求的时间,首包时间能够反映出CDN效劳节点的整体性能。


在上传途径中,首包时间主要包含了DNS解析时间、TCP用时、SSL用时、发送时间和响应时间。在下载途径中,首包时间主要包含了DNS解析时间、TCP用时、SSL用时、发送时间和响应时间。阐明 刚购置的域名,通常解析时间较长,和CDN的缓存时间无关。
整体性能
指完成整个文件的上传或下载所需求的总时长。
丢包率
指在网络传输中丧失数据包的数量占发送数据包总数的比率。
回源率
回源率分为回源恳求数比例及回源流量比例两种:


回源恳求数比:指CDN节点(包括边缘节点和会聚节点)关于没有缓存、缓存过时(可缓存)和不可缓存的恳求占全部恳求的比例。回源恳求数比=CDN节点回源恳求数÷用户访问CDN节点的总恳求数,通常越低则性能越好(假如CDN回源做了分片,但是用户访问CDN没有分片,那么会呈现CDN节点回源恳求数远大于用户访问CDN的恳求数的状况)。回源流量比:回源流量指的是CDN节点回源拉取资源的过程中源站响应给CDN节点的一切流量。回源流量比=源站响应给CDN节点的总字节数÷CDN节点响应给用户的总字节数,比值越低,性能越好。缓存命中率
CDN缓存命中率包括字节命中率和恳求命中率,CDN缓存命中率通用指字节命中率,缓存命中率越高,性能越好。


字节命中率=(CDN节点响应用户的总字节数-源站响应CDN节点的总字节数)÷CDN节点响应用户的总字节数。 阐明 字节缓存命中率越低,回源流量越大,源站的流出流量越大,源站的带宽资源以及其他的负载越大,因而回源流量代表了源站效劳器接纳到的负载压力,在业务运用中主要关怀字节缓存命中率。恳求命中率=(用户访问CDN节点的总恳求数-CDN节点回源恳求数)÷用户访问CDN节点的总恳求数。


Kubernetes系统精讲 Go语言实战K8S集群可视化-白首同归空有约的评论 (共 条)

分享到微博请遵守国家法律