关于cdn:亮相数字科技出海峰会火山引擎边缘云助力数字化出海加速度

9月22日,2023数字科技出海翻新利用峰会在上海胜利举办。峰会以“赋能链接,跨界共赢”为主题,汇聚了超过200位来自互联网、智能制作、批发、生产电子等多个行业的 CXO、研发、技术、运维、产品、发行负责人,围绕企业出海需要及痛点,探讨数字化转型与增长。 会上,火山引擎边缘云解决方案架构师李志海围绕行业客户痛点需要,与来自产、学、研、用、资各畛域的首领、专家和学者,一起探讨了数字科技出海与翻新倒退将来趋势,并分享了火山引擎边缘云基于字节跳动寰球业务积淀的全域减速产品解决方案。 火山引擎边缘云解决方案架构师李志海示意:新航海时代,中国科技企业出海面临简单的海内营商环境、多变的海内网络等挑战,同时也迎来政策反对、一直攀升的中国品牌认可度等利好因素。火山引擎边缘云出海有两把利器:一个是丰盛的节点资源,一个是端到端的全域减速解决方案。随着这两把利器的能力一直强化,能无效帮忙中国科技企业从容面对出海业务挑战,实现业务翻新与增长。 火山引擎边缘云全域减速解决方案 火山引擎在2020年开始鼎力建设边缘云的资源底座,指标是提供寰球对立的资源及技术底座,撑持业务的疾速倒退,截止目前火山引擎边缘云已构建寰球 1300 + 减速节点,110T+ 储备带宽,笼罩中国大陆、东南亚、欧洲支流运营商及寰球骨干网专线,撑持字节跳动寰球业务倒退。 基于弱小的基础设施资源底座,火山引擎边缘云还推出了面向寰球用户的全域减速产品解决方案,笼罩3/4/7层,连贯云/边/端的网络减速体系,包含提供稳固、弹性、高性能内容散发网络的火山引擎CDN,反对一站式动动态混合的零碎减速服务全站减速DCDN,以及面向4层减速相干场景平安、合规、牢靠的寰球减速GA。内容散发网络 CDN基于笼罩寰球骨干网以及各地区的海量减速节点,内容散发网络CDN为图文、音视频等多种类型内容提供高性能,稳固的减速服务,晋升拜访体验。 内容散发网络CDN次要有以下三个劣势: 寰球资源:寰球 1300+ 节点、笼罩 20+ 国家地区內容交付最初一公里;个性丰盛,灵便配置:丰盛的接入协定,反对 HTTP(S)、HTTP2、QUIC、WebSocket 等、自研流量调度零碎、智能路由算法、协定栈优化技术,大幅升高时延、反对动动态七层申请,满足不同用户场景需要;Serverless 解决方案:深度集成边缘函数计算服务,让代码更凑近用户部署,提供更极致的体验、助力客户开发、部署基于地理位置特色优化的应用程序。全站减速DCDN全站减速DCDN基于火山引擎边缘云笼罩寰球的节点和骨干网基础设施,为您的API和互联网利用提供平安、全链路和高质量的网络减速解决方案。 全站减速DCDN次要有以下三个劣势: 寰球资源,体验优化:寰球 1300+ 边缘减速节点,提供亿级 QPS 服务能力、基于海量节点间互联调度及网络门路优化,确保用户就近接入,保障业务寰球减速成果、整体竞速 PK 性能优于支流行业同类产品/服务 10%;个性丰盛,灵便配置:丰盛的接入协定,反对 HTTP(S)、HTTP2、QUIC、WebSocket 等、自研流量调度零碎,智能路由算法,协定栈优化技术,大幅升高时延、反对动动态七层申请,满足不同用户场景需要;全面防护,平安传输:反对大容量的 DDoS 防护,CC 防护,Web 破绽防护、灵便的访问控制和黑白名单性能、全链路 HTTPS (反对国密协定),确保数据传输平安。寰球减速GA寰球减速GA基于火山引擎边缘云笼罩寰球的节点和骨干网基础设施,为游戏、协同办公和互联网利用提供平安、合规和牢靠的寰球网络减速服务。 寰球减速GA次要有以下三个劣势: 寰球资源,体验优化:寰球 1300+ 边缘减速节点,提供 110Tbps+ 带宽储备与亿级 QPS 服务能力、依靠丰盛的节点资源与全自研的流量调度零碎,保障用户的就近接入与回源,为网络减速的性能保驾护航;高可用的服务保障:反对业务零碎分布式部署,实现跨域高可用容灾、反对多运营商合规跨域专线的无缝容灾切换、反对终端节点组的健康检查,实时监控业务可用性;灵便计费,精密监控:丰盛的精细化计费能力,全面笼罩业务场景、全方位的监控告警与实时日志收集,不便用户疾速定位问题。END面向未来,火山引擎边缘云寰球全域减速产品解决方案将继续助力企业出海业务,为企业提供更平安、更优质的网络减速服务,让有能源的企业持续增长。 对于火山引擎边缘云:火山引擎边缘云,以云原生技术为根底底座,交融异构算力和边缘网络,构建在大规模边缘基础设施之上的云计算服务,造成以边缘地位的计算、网络、存储、平安、智能为外围能力的新一代分布式云计算解决方案。

September 27, 2023 · 1 min · jiezi

关于cdn:CDN详解

1.什么是CDNCDN(Content Delivery Network,内容散发网络)是指一种通过互联网相互连贯的电脑网络零碎,利用最靠近每位用户的服务器,更快、更牢靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。简略的说就是CDN能够进步用户拜访网站资源的速度。2.CDN和DNS的关系没有DNS解析服务器,CDN也没有方法实现它的工作,所以DNS解析在网络安全这一块占有十分重要的意义,是不可短少的重要服务。CDN自身也是依附了智能DNS解析零碎,才可能实现负载平衡,有了DNS智能解析,才会实现咱们说的智能调配节点给到用户拜访,不然所有的线路,策略等等再好,也没有方法施展它的价值。DNS详解https://segmentfault.com/a/11900000442428593.CDN的网络架构CDN网络架构次要由两大部分,分为核心和边缘两局部,核心指CDN网管核心和DNS重定向解析核心,负责全局负载平衡,设施零碎装置在管理中心机房,边缘次要指异地节点,CDN散发的载体,次要由Cache和负载均衡器等组成。当用户拜访退出CDN服务的网站时,域名解析申请将最终交给全局负载平衡DNS进行解决。全局负载平衡DNS通过一组事后定义好的策略,将过后最靠近用户的节点地址提供给用户,使用户可能失去疾速的服务。同时,它还与散布在世界各地的所有CDNC节点放弃通信,收集各节点的通信状态,确保不将用户的申请调配到不可用的CDN节点上,实际上是通过DNS做全局负载平衡。对于一般的Internet用户来讲,每个CDN节点就相当于一个搁置在它四周的WEB。通过全局负载衡DNS的管制,用户的申请被通明地指向离他最近的节点,节点中CDN服务器会像网站的原始服务器一样,响应用户的申请。因为它离用户更近,因此响应工夫必然更快。4.CDN应用场景问题:客户要下载某一个网站的材料,发现这个网站拜访特地慢,关上一个页面要好几分钟根本原因:这个网站资源所在的服务器间隔用户太远,如用户在贵阳,这台服务器(源域)在深圳,就相当于用户要拿到这个货色得跑到深圳拿。因而破费的工夫长。解决方案:那如果贵阳也有这么一台服务器,用户是不是就不必跑到深圳拿了?CDN完满解决了这个问题。CDN会有很多个服务器,每一个服务器都会缓存跟源服务器一样的数据,用户拜访资源时会依据用户的ip找到离用户最近的CDN服务器,以确保访问速度。5.CDN减速原理5.1退出CDN怎么将lyw.com退出CDN呢?会在www.lyw.com 这个 DNS 服务器上,设置一个 CNAME别名,指向另外一个域名cdn.lyw.com 5.2实现减速退出CDN当前怎么实现减速呢?用户拜访www.lyw.com,会将cdn.lyw.com返回给本地DNS服务器,接着持续解析该域名,这个时候拜访的就是cdn.lyw.com 这台CDN专用的DNS服务器,在这个服务器上又会设置一个CNAME指向另外一个域名,这次指向的就是CDN的全局负载均衡器(GSLB)。接着,本地 DNS 服务器去申请CDN的GSLB的域名,GSLB就会为用户抉择一台适合的CDN节点提供服务,抉择的根据次要有以下几点:1、看用户的 IP 地址,查表得悉地理位置,找到最近的CDN节点;2、看用户所在的运营商网络,找雷同网络的CDN节点;3、看用户申请 URL,判断哪一台服务器上有用户所申请的资源;4、查问 CDN 节点的负载状况,找负载较轻的节点。

September 25, 2023 · 1 min · jiezi

关于cdn:首购2元起CDN与加速特惠专场来啦

还在为内容散发、减速老本发愁吗?看过去!火山引擎边缘云CDN与减速特惠专场来啦! 限时流动:首购2元起,新老低至7折!限时优惠!错过悔恨!这波折扣实实在在! 首购专区新用户专享:爆款流量包低至2元、1TB流量包低至78元、DCDN动静申请数包100万次低至2元、DCDN动态申请数包1000万次低至9.9元!以上购买内容均有12个月有效期! 新老同享,低至7折新老同享:13元100G的流量包(有效期1月)、13.8元100G的流量包(有效期1年)、9.8元100万次的DCDN动静申请数包(有效期1年)、27.3元1000万次DCDN动态申请数包(有效期1年)! 一站式构筑业务场景不晓得怎么购买更适合?还须要别的优惠?看这里,一站式构筑热门业务场景,打造专属场景优惠计划! 多云CDN减速计划须要网站减速、下载减速、灵便运维、智能容灾的小伙伴看过去!采纳火山引擎多云CDN减速计划完满满足你的需要: 多云反对:反对支流私有云厂商接入,对纳管域名进行对立管控并进行流量调度,实时监控各云厂商CDN服务可用性,实现一站式网站减速治理性能卓越:原生多层级缓存架构的回源机制,采纳分布式系统架构和自主研发高性能缓存软件,为业务提供高性能的下载减速服务运维高效:提供对立的资源管理和流量治理面板,并对不同云厂商的资源进行对立监控,运维性能反对全面、灵便高效智能容灾:反对智能容灾、监测不同云厂商 CDN 服务的可用性。如遇业务不可用,可触发告警、并主动为您切换流量,保障业务的稳定性 建站减速计划须要一键建站、便捷治理的小伙伴看过去!火山引擎建站减速计划满足你的需要: 一键建站:海量收费网站模板,10分钟极速建站资源丰盛:火山引擎內容散发网络在寰球领有1300+高性能缓存节点,终端用户就近接入节点服务,升高链路传输提早,晋升用户体验便捷治理:提供晦涩的域名接入与业务自助运维能力,用户可按需通过控制台或API接口对减速域名进行新增、批改与下线的操作功能丰富:按需配置缓存策略、访问控制、刷新预热、HTTPS 配置、智能压缩等性能,灵便配置Referer 黑白名单、IP 黑白名单、URL 鉴权等访问控制 调度解析计划还在为调度解析发愁的小伙伴看过去!火山引擎调度解析计划满足你的需要: 防劫持:绕过运营商 LocalDNS,解析申请应用 HTTP 或 HTTPS 协定间接发送到 HTTPDNS 服务器,防止递归解析过程中的域名劫持问题精准调度:间接获取实在的客户端 IP,使权威 DNS 可能辨认到精确的地理信息和运营商信息,并返回最优后果,实现精准的流量调度,防止用户拜访迟缓及时失效:严格遵循解析记录的 TTL 配置,使解析变更全网及时失效,在负载平衡和容灾切换时,保障客户端总能接管到最新解析后果,防止用户拜访异样健康检查:云调度GTM通过寰球分布式拨测系统,被动定期进行健康检查,及时隔离故障接入点和机房,将流量调度到衰弱接入点和机房,并提供灵便可配置的健康检查计划 难得流动,这么优惠,连忙点击「这里」体验飞个别的速度~

September 22, 2023 · 1 min · jiezi

关于cdn:字节跳动大规模多云CDN管理与产品化实践

近日,火山引擎边缘云交融CDN团队负责人孙益星在LiveVideoStack Con 2023上海站围绕交融CDN团队继续建设多云CDN平台的演进过程,联合建设过程中面临的难点和挑战,介绍了交融CDN团队接下来的次要投入方向,分享了火山引擎在多云利用架构下的CDN运维治理解决方案。 孙益星与他所在的交融CDN团队在大规模流量突发的挑战下,通过几年的一直迭代与打磨,使字节多云CDN平台实现了多个模块的整合,造成了一个对立的治理平台。 01字节多云CDN平台的演进面向外部业务的多云CDN平台是什么?有什么用?要解决的到底是什么问题呢? 字节跳动有很多流量型的业务,包含抖音、头条、西瓜视频等。为了承载这样的流量,团队应用了各种各样流量减速的产品,包含动态减速、动静减速、域名解析、证书治理以及与各种配套的解决方案,比方源站缓存、回源调度、边缘函数等。 从业务角度登程,如果有一个平台可能间接治理所有减速域名的配置,这将会带来很大便当。只须要把源站贮存的信息发送给平台,剩下的配置解析、流量调配、品质治理等都是由平台实现。 于是字节多云CDN平台——即交融CDN平台,应运而生,它向上承接所有业务方的CDN减速场景需要,底层对接不同的私有云服务,蕴含动态减速、动静减速等。这些服务自身由不同的厂商来提供,业务方在下层不须要关怀它所对接的是哪些厂商,也不关怀具体性能需要在不同的厂商上应该别离怎么去实现,它要做的事件就是把需要提给平台,而后由平台协调不同厂商的资源,最终再交付给业务。对于业务方来说,这就是一个一般的CDN服务平台,像是一家厂商提供的打包的服务一样,所以业内有个比拟艰深的称呼是交融CDN平台。 业务对于这个平台的诉求有以下几点: 第一个诉求是品质:业务对平台的减速服务能力是有预期的,平台有责任保障下层的每一个域名的可用性和减速成果;第二个诉求是老本:老本越便宜越好;第三个诉求是性能:不同业务有比拟大的差别的,比方拜访鉴权、回源rewrite,缓存工夫等。每个业务都会有本人的设计和需要,作为交融平台须要了解这些设计的差别,而后将它转换成厂商可满足的服务需要,最初实现、验证、最初交付给业务方;第四个诉求是服务:这个是比拟宽泛的概念,就是当咱们实现了一系列的资源的配置工作后,业务在日常应用中须要看监控,看报表,刷新预热、排查问题,提一些on call,这些都须要对应的服务能力来反对。总结下来,下层业务对于平台有四个方面的需要:品质、老本、性能以及服务,这个是下层业务对于平台的需要。 从平台的角度思考,厂商越少,复杂度的可能性就会越低。但因为这是一个交融平台,所以须要从所有字节的业务体系的角度思考问题。 首先就是资源的保障,资源方面要能承载日常一两百T的业务带宽,这曾经超出了绝大部分厂商的资源储备。另一方面是在例如春晚、618、世界杯或者上演赛事这种大型的流动筹备时,咱们很难在单个厂商上找到短缺的冗余,这个冗余可能是超出惯例业务量的一倍或者更多的需要,总资源池子须要多个供应商一起协调资源。其次是品质,用户散布在全国各地甚至全世界,而用户体验跟节点的拜访品质密切相关,不同厂商在不同地区、不同运营商的节点散布是有比拟大的差别的。这会导致在理论的业务体现中,这个地区厂商品质的排序是ABC,另一个地区就变成了CAB,这种状况在海内会更显著。对于那些时刻要求最优服务资源的业务来说,很难通过单个厂商来满足要求。品质的另一个体现模式是可用性,地区性的节点不可用是常常产生的,这会造成业务的品质稳定。另外,大规模的厂商故障也时常会产生,如果只绑定一家厂商,那么它故障时流量切换也会带来显著的品质影响。所以对咱们来说,保障流量较为扩散的调配在多个供应商是一个必要的措施。价格方面也有多厂商的思考,价格并不是越便宜越好。不同的业务对于品质的要求是不同的,有些对于用户体验不敏感的业务会更关注老本,对品质的要求就没有那么高;另一部分业务为了更好的品质,就对价格容忍度更高一些。平台须要价格和品质层面为不同的业务找到不同的厂商,选出一个最合适的计划。最初是性能和服务的反对,有多个厂商就能够在咱们有新的性能需要的时候,缩短从联调到测试到上线的周期,在排查具体问题的时候也能给咱们更多的信息反馈。作为一个交融平台,平台的指标并不是要对接尽可能多的厂商,或者对接尽可能少的厂商。而是如果须要让整个业务达到这样一个现实的状态,多厂商根本是一个惟一的计划。在这个计划里,资源是动态变化的,不存在一种资源在各种场景下都是最好的。而是不同场景下总有一个最合适的,而平台在这里的职责就是向业务方高效的交付那些最合适的资源,并保障这些资源的可靠性,这是这个平台的外围能力。 平台的建设通过了两个阶段: 第一阶段是最原始的形式:交融CDN团队会有固定的几个SRE,每个人固定的对接几个业务。大一些的业务可能会有多个专职,小一些的可能会由一个SRE对接多个业务。每个人都比拟相熟本人所对接的业务的需要和背景,依照本人的教训去厂商控制台下来配置,具体的要求也间接跟厂商的技术人员去沟通。在这个初始阶段中,次要靠人的能力来撑持;第二阶段开始有些通用的性能需要被提出放在平台里:比如说看域名的配置,数据,调流量。于是平台的性能被分成不同的性能方向别离被建设。并且不同类型的资源有不同的团队别离去实现。在这个阶段中因为业务一直有需要进来,整个平台的设计是在被需要拖着走的。这两头暴露出了一些问题,比方权限设计、接口标准不对立、数据一致性有问题等。通过这两个阶段之后,交融CDN团队清晰的意识到:须要有一个对立的设计,把这些须要用到的能力都集中起来。 通过几年的迭代,平台实现了多个模块的整合,造成了一个对立的治理平台。大抵分为权限治理、资源管理、品质治理、统计监控、厂商治理、经营剖析几个模块。 02多云治理的挑战平台建设中遇到了哪些挑战呢?应用多个CDN厂商的状况在行业内是一种广泛的景象。交融CDN团队一开始对于对接多厂商的意识是买通API,向上对立封装。然而在真正实际时,交融CDN团队发现事件的复杂度比预期要高很多。 首先,行业外面根本没有公认的标准。作为一个交融平台,须要了解不同厂商的不同标准,一一对接,防止业务踩坑。要在不同的厂商汇总的数据中,及时精确的发现地区性的品质稳定并定位起因等。其次,当资源抉择变多了之后,如何保障交融CDN团队的抉择是最优的变成了一个被大家关注的问题。最初还有一个重要的问题:就是我去解决这些问题的时候,应该投入多少,怎么来评估产出,团队的价值如何量化。 咱们从配置和数据两个根底的问题开始探讨,再开展到下层的计划,介绍咱们品质和老本的经营,最初探讨平台团队价值的问题。 1.配置 行业内配置的差别十分大。厂商之间没有标准,对接老本高。厂商的凋谢接口并不能笼罩全副的能力,接口操作危险高,一次变更全网下发。有些性能还必须去和厂商的后盾沟通能力退出。 解决这个问题分为三个方面:制订配置标准所有厂商所有的性能汇合尽可能凋谢到一个标准外面,一次性实现残缺的标准。即使人力开销会增大,但会变成一个相对来说较为固定的投入,不会像以前那样始终在重复的调整。标准变更流程首先要求所有的配置变更必须有一个对立的入口。任何操作必须在外部的平台实现,不能在厂商操作。入口收敛之后,所有的配置只有有权限的人才可能发动变更,须要有熟悉业务的人来审批,审批之后由SRE来触发理论下发的流程。配置在下发实现之后,在接口层面会查看对应的配置是不是合乎预期后果,进行一次从新的配置读取,厂商也会给到相应的反馈。配置下发实现之后,也会做一些调度层面的筹备,例如新建域名或者删除域名。最初在交付之前,会进行一次残缺的回归测试。这些测试须要是配置项级别的,比方批改源站,交融CDN团队要确认回源相干的响应外面有没有新源站的信息,如果是批改访问控制规定,须要确认对应条件的拜访是不是真的被拦挡了或是被放行了。这些回归做完之后,意味着这次变更从用户侧的拜访成果应该是真的达成预期了,最初才会告诉业务方这个变更实现。 欠缺测试框架最初还有一个接口的测试框架,与后面提到的回归测试区别在于:上述的测试是面向配置后果,而这个测试框架是面向整个配置接口。因为接口转换的实现很重要,并且很容易出问题,导致这些问题的起因可能是代码的bug,或者厂商API层面的一些变更导致不兼容的问题、环境的变动产生的影响等,这些问题如果没有一个很好的测试框架,就只能等它呈现问题的时候能力发现。 在过来的一两年,通过测试框架的积攒,火山引擎边缘云实现了大概2000多个case的建设,每次API上线都会跑一个残缺的测试,每天有定时的巡逻保障厂商测试的性能是合乎预期的。这样大量的测试积攒,也帮忙咱们发现了很多问题。 2.数据上面再说一个比拟根底的能力:数据。 数据产生的源头别离来自于服务端和客户端。服务端从access log开始由厂商转换成两种数据进口,离线日志和实时统计的接口,前者提早个别是小时计甚至天级别的,后者可能能够做到分钟级。平时看到的带宽申请数状态码都是从服务端的数据源产生的。客户端则是咱们本人的业务上报客户端的拜访品质数据,同时加上本身的拨测工作巡检,采集一些更具体的链路品质信息。 为了做对立的聚合剖析,这些数据被对立存储到数据中台的对立数仓里。整体来看很容易能够了解要做什么,然而跟传统的大数据系统相比,多云平台的工程实现有呈现一些额定的问题。 首先就是数据的提早,接口级别的提早尽管是分钟级的,然而不同厂商的差别也比拟大,有的1分钟、有的5分钟、有的10分钟。然而咱们本人的调度零碎在做切换的时候心愿拿到的数据是越实时越好;其次是接口的局限,尽管接口的提早绝对日志会低一些,然而它能提供的信息量是无限的;再次是采集能力,采集时会呈现接口不可用,被限频等问题,这就要求咱们的采集零碎可能辨认哪些谬误须要重试,针对厂商被动地管制本人的采集频率;最初是采集的数据品质如何保障,厂商对于接口的实时性是没有方法100%保障的,接口报错很频繁。采集数据还没进去时,有问题的数据如何修改,修改之前如何判断这个数据是不是可信的。 整个建设分为三个阶段: 第一阶段是多源数据采集,解决包含客户端的、服务端的、实时的、离线的不同数据源的适配;第二阶段是数据可靠性建设。厂商的数据、日志、API、账单等数据会有比照过程,如果发现某个数据呈现问题,会发动被动的修复。同时会对整个数据大盘进行实时性监控。下层零碎会依据数据做置信度判断。联合服务端的QPS和业务侧上报的数据,判断以后数据是否真实可信。如果不可信,须要应用其余的数据拟合进行针对性的修复;第三阶段是对立数仓。数据采集之后,会应用对立的标准贮存到数据仓库里,向上会提供对立的API查问和信息查问能力。在实际操作过程中,可能会遇到API层面无奈实时采集地区运营商级别数据的状况。业务方在查问的时候,须要把这部分查问实时转化成接口的申请转发给厂商,以达到雷同的成果。上图为整体的模式图。底层是对立的数据中台,负责数据的采集、计算、存储、对外提供查问的接口,下层包含监控、经营、策略等不同模块,面向不同的用户提供不同的性能。 3.品质治理 介绍完配置和数据这两个根底的能力,上面向上讲一些业务方更关怀的横向的能力,首先是品质保障。作为一个交融平台,业务方如果有感觉到品质呈现问题,个别是呈现了故障。平台要做的事件就是把品质的规范进步,尽可能防止对业务产生影响。很多问题对下层没有影响,然而在外部曾经走了一个残缺的故障解决流程,包含问题的检测发现、告诉告警、诊断定位、预案复原。 对于一些比拟显著的问题,不论有没有对业务造成影响,交融CDN团队都会做外部的复盘和改良。在这个流程中,交融CDN团队要面对各种各样的问题,比方如何保障检测到的告警的有效性、缩短定位的时长、晋升咱们无人工干预主动复原的比例,以及前面的复盘定级须要怎么做。 这个过程是:最根底的能力是监控的数据源,相较于方才的多源数据采集,还定制了厂商侧的告警上报、实时谬误日志推送等能力,也会联合业务侧的SDK打点、拨测数据、以及自有节点的一些品质数据。这些对立到数仓里,构建了一个比拟实时的品质库。往右就是数据的检测告警,数据会依据不同的维度聚合,比方域名的、业务的、AB测试的都可能有不同的告警规定。这些规定能够是例如状态码异样比例、播放错误率比例这类动态的规定,也能够是依据时序数据的特色和历史趋势动静判断告警阈值应该是多少。咱们对于周期性的和非周期的时序数据都能够反对动静阈值的告警。当告警触发后,会进入根因剖析流程,判断这个告警产生的实在起因是什么。 比方当业务方客户端错误率上升时,须要判断对应的是哪个域名,这个域名是放在哪个厂商上,对应的各个维度的监控是否失常。这些判断会波及到时序数据异样检测、不同数据的相关性剖析等等。基本上咱们常见的异样都会有残缺的根因剖析逻辑,直到排查出最终的问题,比方到底是厂商侧的问题还是咱们源站的问题还是地区性的网络问题。这样最终在告警发送时,曾经带着残缺的诊断后果告诉咱们的SRE。比方会通知你,以后的景象是客户端错误率回升,起因是源站问题,对应两头的查看后果是怎么的。这时候咱们能够间接告诉业务方解决本人的源站问题了。如果是厂商的问题,例如地区性的节点不可用,除了会告诉厂商之外,咱们还会主动去执行一些预案。 最常见的就是切流,把对应地区的调度权重从问题厂商上调走,同时放弃对厂商对应地区的被动探测,当厂商的流量失常时再切回来。最初这个品质问题的影响时长、故障定级等等会在品质零碎中有明确的体现,厂商侧也能够依据咱们反馈的信息进行检查和改良。 这样最终整套的零碎就实现了闭环,品质数据的检测会触发告警和根因,主动的根因剖析和预案执行可能主动的改善品质数据。过来几年交融CDN团队始终在改善闭环里的执行效率和准确性,让更多的问题可能被主动预案来笼罩。目前的告警准确性,就是那些稳定异样通过智能阈值判断,以及降噪解决后,被确认真的是异样的占了98%以上,80%以上的告警会带着精确的根因剖析信息一起提供给SRE和技术支持的共事。 4.老本经营 老本经营在过来几年始终是一个令人十分头疼的问题。因为因为数据的敏感性,交融CDN团队最后做了很多的限度,导致相干的技术只能局限在一个很小的范畴内探讨。然而这个团队要解决的工程问题还是非常复杂的,须要充沛的投入。比方每个月一到月初就要花大量的工夫去校验厂商的账单数据是不是精确,还有像老本摊派、稳定归因等方面都存在很大的挑战。 解决办法一种是让业务方相熟咱们的老本逻辑,本人去剖析,另一种形式是从平台层面提供对立的能力来帮忙业务。 首先须要明确的是数据因为和钱相干,的确是很敏感的,因为波及到商务的窃密问题等,然而钱能够拆分成两局部:一部分是单价,一部分是用量。 单价只有有权限的人才能可见,所以交融CDN团队额定做了一套零碎,把价格隔离起来治理。用量信息则没有那么敏感,大部分业务方都会接触用量信息。将单价隔离开当前,平台的负责人就能够深度的参加到用量的优化之中。这些用量,比方边缘带宽、存储、专线会别离对应到不同的摊派算法中去,让每一种资源的用量都有一个固定的逻辑摊派到最小的老本单元上,个别就是域名。域名在总的用量下面占多大比例是能够明确的,老本单元有本人的组织归属,包含叶子结点和跟结点的归属都能够映射过来。 对于业务方来说,能够直观的看到每月的带宽上涨到底是哪些业务甚至是域名导致的问题,这个就是咱们近期面向业务方凋谢的老本剖析能力。在排查问题的时候,每一层的数据都是可校验的。所有域名的总用量加和,肯定等于摊派前的总用量加和。每个资源的总用量,乘以对应的单价,肯定等于对应的资源花掉的钱。做数据校验的时候,只须要一层层的校验就好了。 5.平台价值 方才说了咱们作为一个多云治理的平台,资源是来自于底层的厂商,流量来自于下层的业务,平台做的事件只是把这个资源更好的交付给业务,帮助咱们的业务应用好这些资源。 在这个过程中咱们投入了接口开发、QA、数据工程、经营剖析、调度零碎、品质监控、权限治理还有前台、文档等等,然而向上还是要落实到业务层面能够感知到的收益上,就是我的品质是不是有保障,还有我的老本是不是在继续的优化。所以始终以来掂量交融CDN团队产出的指标始终都是一些绝对固定的维度,品质、老本、效率、稳定性。 最近一年来整套的零碎设计才逐步残缺,把线上问题收敛稳定下来。到当初为止仍然要投入很多的人力去保护咱们配置接口的迭代、数据的保障、以及平台化的性能建设。另一方面,正是因为有了业务体量的撑持,咱们团队的投入价值能力最大化。过来一段时间里,交融CDN团队也跟火山引擎的客户和开发者做了一些技术上的交换,去介绍交融CDN团队是怎么治理多云的。 一个常常提出来的问题是,我有什么简略的方法实现你这套零碎,我能够不要那么简单的前台界面、审批流程。然而那些要害的能力,比方品质治理、老本剖析,咱们怎么样能力用最小的投入做起来。所以在去年交融CDN团队对系统又从新做了一次革新,把底层的要害能力,数据系统配置系统调度零碎还有两头的一些外围解决方案,逐渐的凋谢成咱们的产品能力,放到火山引擎下面提供进去。这个就是咱们的多云CDN产品。 03火山引擎多云产品能力 多云CDN底层还是对接不同资源厂商,蕴含不同服务类型。但中间层正在经验一个深度的革新,从右到左一直地将咱们的外围能力孵化为凋谢的产品;从左到右,以上云的模式一直地将咱们已有零碎的实现以更加标准的设计和概念定义去做重构,让一些本来比拟含糊的外部概念可能以一个内外部用户能了解的形式去运行。 在这套零碎之上,现有的交融平台会变得越来越薄,将来可能只会保留一些跟外部业务深度耦合的局部,比方流程的审批、外部业务的预案等。业务方还是应用咱们交融平台的界面,然而这个平台的底层将来会和火山引擎的客户一样是咱们这个多云产品的用户,通过它提供的凋谢接口能力去治理各自的资源。 1.资源管理 多云CDN产品去年刚刚上线,就曾经实现了根本的资源管理能力。平台当初反对曾经实现接口规范化革新的国内外厂商。在接口能力上配置的对立查问性能曾经实现,也反对了像域名创立、证书更新这样的能力,更残缺的配置变更流程正在做产品化的革新。在资源管理的根底上,业务组织、权限、统计聚合的能力也实现了,一些拓展的性能,比方在TOS文件变更的时候同时刷新多个厂商的CDN,咱们称之为联动刷新的能力,有了多云的平台就比拟容易实现,目前正在被理论应用。 2.监控剖析 在数据的能力上,统计的API和日志的API在第一阶段都曾经反对。刚刚实现了数据采集的能力,能够间接帮忙用户从API采集数据而后存下来,在这个数据能力之上,用户能够做不同厂商数据的对立聚合,或者灵便的比照不同厂商的数据。将来咱们还会凋谢自定义报表的能力,帮忙咱们的客户剖析全局的业务数据。 3.智能运维 在监控能力上,有了方才说的数据采集的能力,加上咱们的拨测能力,以及将来会凋谢的客户数据上传的通道,咱们把外部的智能告警、根因剖析、主动容灾的预案也都放到了产品上,将来会联合咱们本人的品质库帮忙咱们的客户更好的剖析业务品质、晋升服务的可靠性。 4.FinOps 近期,老本治理能力曾经上线。总的来说就是将老本经营能力凋谢,联合数据采集能力和账单剖析能力,帮忙客户精确的剖析账单形成、业务老本形成和稳定的起因。将来还会联合不同的计费模型,帮忙业务方更好的剖析老本,组成对应的优化计划。 ...

September 20, 2023 · 1 min · jiezi

关于cdn:体验腾讯云下一代CDNEdgeOne安全加速一体化方案

7月29日有幸受邀加入了腾讯云lighthouse & dnspod在长沙举办的线下meetup交流会,并在会上理解到了腾讯云最新推出的平安减速一体化计划—EdgeOne。 简介EdgeOne是国内市场上首款真正意义上的一站式边缘平安减速产品,它解决了传统CDN配置平安计划的痛点,实现平安与减速“All in One”,因而也被誉为下一代CDN。相比传统解决方案,腾讯云EdgeOne每一个边缘节点都同时领有DNS解析、智能减速、DDoS防护、Web防护、Bot防护等平安防护和减速服务两大能力体系。同时,EdgeOne 一站式的产品状态,可能帮忙业务缩小近75%的运维工作量,为企业提供更平安更低时延的一站式接入服务,助力数字化转型和业务快速增长。目前EdgeOne曾经上线,并且为开创用户提供了特地优惠,个人版新用户一年仅需36元,一杯咖啡钱即可为你的网站带来提速和防护,保障业务安稳运行。购买地址:cloud.tencent.com/act/pro/edg… 购买后进入控制台,菜单项和统计信息高深莫测,接下来本文将疏导您如何在 EdgeOne 上增加站点并开启平安减速,帮忙您疾速上手理解如何接入 EdgeOne 服务。 增加解析和传统CDN一样,应用之前你须要先在控制台增加须要减速的业务域名,这里我应用曾经通过备案的域名。EdgeOne交融了中国境内和境外减速,不必像传统CDN别离配置海内外减速设置,如果域名曾经备案就能够应用寰球减速,无备案则只能在海内地区减速。 须要留神的是目前的EdgeOne套餐一旦与域名绑定就无奈解绑,强行敞开套餐也会被销毁,所以请大家谨慎抉择须要绑定的域名,如果不再须要接入EdgeOne只有批改域名解析就能够了。更换域名性能预计往年12月上线。 配置下发胜利后咱们还须要增加解析,EdgeOne提供了cname和ns两种解析形式,能够依据本身需要灵便抉择。这里还能够一键签发配置https证书。 因为我还有其余子域名须要解析,并且应用了dnspod企业套餐,所以这里我应用了传统cname形式进行解析。 控制台上面给大家简略介绍我应用到的局部配置。站点概览EdgeOne控制台主页提供了各项统计数据的概览,不便用户第一眼就能清晰明了的理解网站资源用量和各项数据指标。我应用的是个人版,能够应用大部分根底性能,大家能够依据本身需要抉择适合的套餐。 流量剖析流量剖析能够直观的看到具体的总流量、总申请数、宽带峰值、独立ip数、状态码、趋势曲线、以及申请方的各项参数信息等,便于精准剖析用户人群和习惯。 平安剖析EdgeOne反对对 Web 应用层攻打、DDoS 攻打、CC 攻打、BOT/爬虫类攻打进行防护,其自身曾经内置了一系列攻打托管规定,也反对用户按业务需要,配置自定义简单访问控制规定。我应用的wordpress是一款开源的cms零碎,能够看到来自寰球多个国家和地区攻打了网站的/xmlrpc.php这个文件,通过查阅相干材料后发现这个文件不是必须的,我及时批改了该文件的拜访权限,升高了网站被进一步攻打的潜在危险。 SSL证书SSL证书简直是每个网站必备的性能了,应用ssl的网站能更好的保障网络安全,升高被攻打的危险。EdgeOne提供了极为便当的一键配置ssl,小白也能轻松领有。 站点配置缓存配置当您的网站接入 EdgeOne 的服务后,EdgeOne 边缘节点将依据缓存配置的规定来决定是否缓存客户端申请响应的资源文件,边缘节点缓存该文件后,当有其余用户发动雷同的文件申请时,可由 EdgeOne 边缘节点间接响应,可无效防止长链路回源状况,以更快的速度为用户响应最新的文件申请,进步用户体验。 文件优化EdgeOne 默认全局开启 Gzip 或 Brotli 压缩,压缩后文件能够无效地缩小资源的大小,放慢内容的传输速度。通过缩小资源大小显著进步网页加载速度,从而提供更好的用户体验。特地是对于领有大量 CSS、JavaScript 等资源的网站,启用压缩能够大幅度缩小加载工夫。同时压缩后的资源会占用更少的网络流量,有助于降本增效。 图片缩放开启此性能后EdgeOne 边缘服务器将在不影响视觉感触的前提下间接解决、缓存和响应图片,以进步页面加载速度并优化图片减速性能,并且不影响源站资源,在放弃图像品质的同时加强用户体验。既然是限免那就先用着。 革除缓存如果源站更新了资源内容,为了防止用户依然拜访到旧的资源文件,能够通过革除缓存来手动革除所有边缘节点内已缓存的资源。缓存被革除后,用户在拜访资源时, EdgeOne 将回源获取最新的资源以进行响应。 HTTPS强制 HTTPS 拜访的性能通常用于进步网站的安全性和爱护用户隐衷,若您的业务须要爱护用户隐衷和一些其余敏感信息,为了进步安全性,倡议开启此性能,确保数据在传输过程中加密。 网络优化提供了HTTP2、HTTP3、IPv6 、WebSocket、gRPC等相干配置优化网络传输,进步网站性能。 规定引擎规定引擎能够通过丰盛的规定语言,反对按需自定义解决特定类型申请的配置规定,实现更灵便的差异化配置。 性能监控性能监控是一站式前端监控解决方案,该性能为 EdgeOne 与  前端性能监控 的联动性能,专一于 Web 等前端场景监控。用户只须要将 SDK 装置到本人的我的项目中,通过简略配置,即可全方位守护用户页面品质。实现低成本应用和无侵入的监控,确保页面性能和前端品质的实时可观测。 页面性能剖析包含首屏耗时、建设 TCP 连贯耗时、TTFB 耗时、SSL 耗时等。同时还反对最新的 Web Vitals(谷歌针对网页加载速度和体验所提出的一套指标) 规范。全方位帮助您优化用户体验。 用户拜访剖析反对查看业务 PV/UV 数据,每个页面拜访的 TOP 数据等,反对通过网络、浏览器、地区等多维度剖析用户拜访数据,实时理解并剖析用户拜访状况。 动态资源测速反对资源测速,包含图片加载耗时和 CDN 资源耗时等。开发者能够查看某个页面下具体应用了哪些资源,每个资源的耗时状况等信息。 网站测速海内外测速后果都很令人很称心。 最初Edgeone的配置项极其丰富,如果不是很相熟的同学举荐应用默认配置。本文只是简略介绍了产品的根本状况,前期我会独自解说EdgeOne的每具体配置,让大家更深刻的理解这款优良的产品。

August 30, 2023 · 1 min · jiezi

关于cdn:火山引擎边缘云助你沉浸式回忆童年

发现了吗?在抖音、西瓜视频上能观看4K修复的经典港片了!得益于抖音、中国电影资料馆、火山引擎独特发动的“经典香港电影修复打算”,咱们童年时期看过的《大话西游之大圣娶亲》《武状元苏乞儿》等22部港片以更清晰、晦涩、色彩丰满的状态回归了! 画面来自《武状元苏乞儿》 为了让你们更好的重温经典,火山引擎 CDN通过将站点内容散发至凑近用户的缓存节点,使得用户可就近疾速获取想看的影片内容,保障了这波高清回顾杀的晦涩稳固不卡顿,趁势来介绍一下火山引擎 CDN 。 火山引擎 CDN你是否有过这种体验?关上一部电影时,屏幕上那令人失望的、怎么也转不到头的“加载中”;正到“如果非要在这份爱上加一个期限,我心愿是一万年”的时候,画面忽然停滞卡顿……而火山引擎 CDN就致力于毁灭这种场景。 说得业余一点,火山引擎 CDN针对在互联网上流传的图片、音视频、网页、下载包等动态内容,提供传输减速服务,优化用户拜访体验,进步下载速度。不论是 Web 网站,还是手机端 APP、客户端软件,其中蕴含的内容都可通过火山引擎 CDN进行减速。 作为火山引擎根底服务产品的先行者,火山引擎 CDN曾经在抖音、西瓜视频、今日头条、飞书和巨量引擎进行了大规模场景和多年实际打磨,将字节跳动海量流量场景下所积攒的技术劣势内化到产品中,打造新一代场景化,具备高度扩展性的智能CDN产品,赋能不同类型用户内容散发与边缘场景需要,撑持用户业务多元、高速增长。除了视频、图文、安装包/更新包等内容的减速,咱们还能提供访问控制、监控告警、平安传输等等性能,想理解更多能够拜访【火山引擎官网】,关上新世界的大门。 写在最初做正确有意义的事,保障整个事件的流程节点畅通,火山引擎 CDN就致力于晋升“经典香港电影修复打算”中用户的体验感触。 咱们置信电影重播传递的不仅仅是“情怀”,更是童年含糊感触到的思维和观点,领有厚度的好内容绝不会被时光的尘埃埋葬光辉,也绝不会受限于技术而被淘汰。“初听不识曲中意,再听已是曲中人”,童年时跟着电影哭哭笑笑的你,还记得对你影响最深的老电影是哪一部吗? 对于火山引擎边缘云:火山引擎边缘云,以云原生技术为根底底座,交融异构算力和边缘网络,构建在大规模边缘基础设施之上的云计算服务,造成以边缘地位的计算、网络、存储、平安、智能为外围能力的新一代分布式云计算解决方案。

August 25, 2023 · 1 min · jiezi

关于cdn:非侵入式入侵-Web缓存污染与请求走私

作者:vivo 互联网安全团队- Gui Mingcheng本文介绍了两种攻击者无需间接接触服务端即可攻打和影响用户行为的安全漏洞 —— Web缓存净化与申请走私。Web缓存净化旨在通过攻击者向缓存服务器投递歹意缓存内容,使得用户返回响应后果而触发平安危险。HTTP申请走私旨在基于前置服务器(CDN、反向代理等)与后置服务器对用户申请体的长度判断规范不统一的个性,结构可能被同一TCP连贯中其它用户夹带局部歹意内容的攻打申请,从而篡改了受害者的申请与响应行为。两种破绽均须要通过针对中间件的合理配置与业务接口的正当设计进行排查和进攻。 一、Web 缓存净化攻打原理与场景1.1 什么是缓存?缓存技术旨在通过缩小提早来减速页面加载,还能够缩小应用程序服务器上的负载。一些公司应用像Varnish这样的软件来托管他们本人的缓存,而其余公司抉择依赖像Cloudflare这样的内容散发网络(CDN),缓存散布在世界各地。此外,一些风行的Web应用程序和框架(如Drupal)具备内置缓存。Web缓存净化关注的是CDN等前置服务端部署的缓存服务,还有其余类型的缓存,例如客户端浏览器缓存和DNS缓存,但它们不是本次钻研的关注点。 1.2 缓存的工作机制?由CDN等代理层服务器依据“缓存键”缓存用户申请对应的响应,并在某个申请再次到来时间接返回相应的响应包。例如如下场景中,红色字体标识了缓存服务器配置的缓存键内容,A用户拜访服务端返回的后果后,B用户再次拜访仅会获得缓存服务器中的内容,因为缓存服务器认为两者是同一个申请,无需再向业务服务端从新申请一次。 1.3 缓存净化具体是如何实现的?当攻击者的申请中,缓存键和普通用户没有差异,而申请中其它局部存在可体现在响应包中的歹意内容或代码时,该响应被缓存后,其它申请了同一个失常缓存键对应接口的用户会间接失去攻击者提前交给缓存服务器缓存的歹意响应。 以下是一个简略的例子,业务某个接口存在逻辑:获取用户申请Host头的内容,拼接至响应包的js链接中作为拜访域名。此时攻击者注入歹意域名hack.com,受害者拜访缓存资源的时候失去的是和攻击者一样的响应后果。此时攻击者通过JavaScript代码简直劫持了受害者在前端的所有信息和行为,具体的结果则由其中的恶意代码所决定,这与XSS的攻打结果是相似的。 Web缓存可能结构什么样的攻打,取决于在不毁坏缓存键的同时,结构可能在响应中体现歹意行为的申请,例如业务逻辑对Host头中的值进行校验和申请,但没有校验端口号是否为443或80。此时能够结构申请使得响应跳转至1337端口,其它受害者对该接口的拜访便不再可用:  拓展学习 —— 攻击者如何确定缓存键的覆盖范围? 首先须要确认是否存在缓存键: HTTP头间接返回缓存的相干信息察看动静内容的变动返回工夫的差别特定的第三方缓存配置头如何定位缓存键的覆盖范围: 对申请A改变一处成为申请B,各自响应有所差别。若申请B后失去A的缓存后果,则阐明A、B的缓存键雷同,也阐明了改变之处并非缓存键。扭转申请A某处内容发送,响应cache头依然在缓存计时,阐明该处内容局部不为缓存键。反之,从新命中,则该处内容蕴含缓存键。利用特定的头来查问缓存键,例如:Pragma: akamai-x-get-cache-key, akamai-x-get-true-cache-key。二、Web缓存净化进攻伎俩2.1 禁用缓存配置对缓存投毒的最弱小进攻方法就是禁用缓存。 对于一些人来说,这显然是不切实际的倡议,但我揣测很多网站开始应用Cloudflare等服务的目标是进行DDoS爱护或简化SSL的过程,后果就是容易受到缓存投毒的影响,因为默认状况下缓存是启动的。如果对确定哪些内容是“动态”的足够确认,那么只对纯动态的响应进行缓存也是无效的。 2.2 防止从申请中间接获取输出放在响应中一旦在应用程序中辨认出非缓存键的输出,现实的解决方案就是彻底禁用它们。如果不能实现的话能够在缓存层中剥离该输出,或将它们增加到缓存键。倡议应用Param Miner等审计应用程序的每个页面以清除非缓存键的输出。 三、HTTP申请走私攻打原理与场景3.1 HTTP申请走私的基本原理在RFC2616的第4.4节中,规定:如果收到同时存在Content-Length和Transfer-Encoding这两个申请头的申请包时,在解决的时候必须疏忽Content-Length。但理论解决往往没有恪守该协定。HTTP申请的结尾与完结标记能够通过Content-Length来决定,也能够通过申明的Transfer-Encoding: chunked对HTTP分组来决定。以后置服务器和后置服务器对HTTP申请结尾和完结标记的判断解决规范不统一时,就可能导致攻击者前一个申请的后半局部在后置被认为是下一个申请的结尾,从而呈现HTTP走私破绽。 依据前后置服务器的不同申请体长度判断组合模式,有以下攻打场景: 实质起因: 前后置服务器对申请体长度的判断规范存在Content-Length和Transfer-Encoding两种模式前置服务器和后置服务器之间存在TCP连贯重用,混淆多个用户的申请3.2  Content-Length和Transfer-Encoding申请头如何制订申请体长度?申请体中每个字符为一个字节的长度,换行符蕴含 \r 和 \n 两个字节长度,Content-Length标识申请体从结尾到最初一个字符的总长度: Content-LengthPOST /search HTTP/1.1Host: normal-website.comContent-Type: application/x-www-form-urlencodedContent-Length: 11 q=smuggling申请体中每个字符为一个字节的长度,换行符蕴含 \r 和 \n 两个字节长度。每段申请内容别离由一行16进制长度值和一行内容自身所组成,例如“q=smuggling”长度为11(16进制:b),“q=smuggle”长度为9(16进制:9)。内容完结后,以 0 和两个换行符完结申请体: Transfer-Encoding: chunkedPOST /search HTTP/1.1Host: normal-website.comContent-Type: application/x-www-form-urlencoded Transfer-Encoding: chunked bq=smuggling9q=smuggle0[\r\n][\r\n]3.3  HTTP申请走私如何攻打?基于下面形容的5种前后置服务器不同的申请体长度判断模式,这里抽选其中的 CL-TE 和 TE-CL 模式进行举例: ...

March 14, 2023 · 1 min · jiezi

关于cdn:alicdn边缘节点不稳定导致页面崩溃问题

问题概述某工作日,线上某用户向客服专员反馈没法失常拜访“查看报价页面”,页面内容没有出现。客服专员收到反馈后,将问题转交给SRE解决。很奇怪的是,SRE拜访生产环境“查看报价页面”显示失常,为了进一步剖析定位问题,SRE向用户申请了近程操作,将将一些具备价值的信息记录下来,次要有以下两个方面: 用户拜访“查看报价页面”存在款式和字体文件没有加载胜利; 没有加载胜利的字体和款式文件的申请域名并不是公司的,而是公网收费的域名(at.alicdn.com、g.alicdn.com);剖析与定位通过上述信息,能够晓得用户与SRE拜访页面的差别,SRE拜访“查看报价页面”能够失常获取所有资源,而用户无奈获取局部字体和款式文件。依据浏览器加载渲染原理,局部字体和款式加载失败大概率不会导致页面DOM无奈出现,无奈下结论之时,无妨先假如字体和款式文件影响到了DOM渲染。 当无奈从表象剖析出线上问题起因时,第一步须要在开发环境或者测试环境复现问题场景,而后排查从申请资源到页面渲染的执行过程。 问题的引入点:域名解析在复现场景之前,须要先晓得拜访胜利和失败之间的差别。通过收集到的信息来看,申请域名解析的IP有显著不同: 失常拜访资源,DNS域名解析Request URLRemote Addresshttps://at.alicdn.com/t/font_1353866_klyxwbettba.css121.31.31.251:443https://g.alicdn.com/de/prismplayer/2.9.21/skins/default/aliplayer-min.css119.96.90.252:443https://at.alicdn.com/t/font_2296011_yhl1znqn0gp.woff2121.31.31.251:443https://at.alicdn.com/t/font_1353866_klyxwbettba.woff2?t=1639626666505121.31.31.251:443生产环境申请资源失败,DNS域名解析 at.alicdn.com:116.153.65.231g.alicdn.com:211.91.241.230用户和SRE所处地区不同,拜访资源时域名解析命中的边缘节点服务也会不同,而at.alicdn.com与g.alicdn.com是公网收费的CDN域名,某些边缘节点服务稳定性不够,拉取不到资源也是可能产生的。 问题根本原因:模块加载开发环境与测试环境复现差别批改本地hosts,增加用户域名解析的地址映射,在测试环境和开发环境尝试复现。两个环境均不能获取到字体和款式文件,测试环境(https://ec-hwbeta.casstime.com)页面内容没有出现(复现胜利),开发环境页面内容失常出现(复现失败),剖析开始陷入胡同。 开发环境: 测试环境: 这时候就要开始剖析了,两个环境复现问题的差别点在哪里? 不难发现,两个环境最次要的区别在于yarn start与yarn build的区别,也就是构建配置的区别。 开发环境1、create-react-app要害构建配置 启用style-loader,默认通过style标签将款式注入到html中;不启用MiniCssExtractPlugin.loader拆散款式和OptimizeCSSAssetsPlugin压缩款式;启用optimization.splitChunks代码宰割;启用optimization.runtimeChunk抽离webpack运行时代码;const getStyleLoaders = (cssOptions, preProcessor) => { const loaders = [ isEnvDevelopment && require.resolve('style-loader') isEnvProduction && { loader: MiniCssExtractPlugin.loader, // css is located in `static/css`, use '../../' to locate index.html folder // in production `paths.publicUrlOrPath` can be a relative path options: paths.publicUrlOrPath.startsWith('.') ? { publicPath: '../../' } : {}, }, ].filter(Boolean); return loaders;}module: { rules: [ { oneof: [ { test: cssModuleRegex, use: getStyleLoaders({ importLoaders: 1, sourceMap: isEnvProduction && shouldUseSourceMap, modules: { getLocalIdent: getCSSModuleLocalIdent, }, }), }, { test: sassModuleRegex, use: getStyleLoaders( { importLoaders: 3, sourceMap: isEnvProduction && shouldUseSourceMap, modules: { getLocalIdent: getCSSModuleLocalIdent, }, }, 'sass-loader' ), }, ] } ]} optimization: { minimize: isEnvProduction, minimizer: [ // 压缩css new OptimizeCSSAssetsPlugin({ cssProcessorOptions: { parser: safePostCssParser, map: shouldUseSourceMap ? { // `inline: false` forces the sourcemap to be output into a // separate file inline: false, // `annotation: true` appends the sourceMappingURL to the end of // the css file, helping the browser find the sourcemap annotation: true, } : false, }, }) ], // Automatically split vendor and commons // https://twitter.com/wSokra/status/969633336732905474 splitChunks: { chunks: 'all', name: false, }, // Keep the runtime chunk separated to enable long term caching runtimeChunk: { name: entrypoint => `runtime-${entrypoint.name}`, }, } ...

December 29, 2022 · 5 min · jiezi

关于cdn:前端开发常用cdnapi总结

CDNFont AwesomeFont Awesome 是一套漂亮的CSS图标库,能够在网页中显示千万个图标。 Font Awesome 国内最快图标查问网站:https://fontawesome.cnFont Awesome v6.2.1 国内最快CDN:https://cdn.bootcdn.net/ajax/...Font Awesome v4.7.0 国内最快CDN:https://cdnjs.cloudflare.com/...Font Awesome v5.14.0 国内最快CDN:https://cdnjs.cloudflare.com/... jQueryjQuery是前端最常见的框架之一,宽泛使用于各大网站中。jQuery 3.6.2 国内外最快CDN:https://code.jquery.com/jquer...jQuery 3.6.2 国内最快CDN:https://cdn.bootcdn.net/ajax/...jQuery 2.4.1 老版本最快CDN:https://apps.bdimg.com/libs/j... VUE.jsVUE 2.7.14 开发环境 最快CDN:https://cdn.jsdelivr.net/npm/...VUE 5.15.1 生产环境 最快CDN:https://cdn.jsdelivr.net/npm/vue Bootstrap 5外围CSS Staticfile CDN:https://cdn.staticfile.org/tw...popper.min.js Staticfile CDN:https://cdn.staticfile.org/po...外围JS文件 Staticfile CDN:https://cdn.staticfile.org/tw... Bootstrap 4外围CSS Staticfile CDN:https://cdn.staticfile.org/tw...Jquery 见 jQuery CDN局部bootstrap.bundle.min.js Staticfile CDN:https://cdn.staticfile.org/po...外围JS文件 Staticfile CDN:https://cdn.staticfile.org/tw... Foundation 5https://cdn.staticfile.org/fo...https://cdn.staticfile.org/jq...https://cdn.staticfile.org/fo...https://cdn.staticfile.org/fo... APIIP or City城市信息(太平洋电脑网):https://whois.pconline.com.cn... 地位信息,<span id="idJsShow"></span><script>function jsShow(location){ document.getElementById("idJsShow").innerHTML = location;}</script><script src="jsFunction.jsp?callback=jsShow"></script>IP与相干信息(太平洋电脑网):https://whois.pconline.com.cn... 地位信息,<span id="idTestJson"></span><br/><script>function testJson(obj) { document.getElementById("idTestJson").innerHTML = "省["+obj.pro+"] 市["+obj.city+"] 区["+obj.region+"]";}</script><script src="ipJson.jsp?callback=testJson"></script>ip地址在["obj.ip"]中。

December 18, 2022 · 1 min · jiezi

关于cdn:融云-CDN-播放器-20-版本正式上线

近期,融云自研 CDN 播放插件 2.0 版本正式上线。在原有版本反对融云内置 CDN 直播流播放的根底上,凋谢了相干 API,满足开发者的多种业务需要。关注【融云寰球互联网通信云】理解更多 融云 CDN 播放器插件 2.0 提供稳固、晦涩、丰盛的播放服务,且反对播放第三方 CDN 的直播流,进一步欠缺了融云 CDN 直播服务链路。 作为平安、牢靠的寰球互联网通信云服务商,融云服务笼罩寰球 233 个国家及地区,在直播解决方案中提供寰球笼罩、反对高并发、一体化视频解决、高清低码的 CDN 服务,保障直播用户体验的同时升高 CDN 减速服务老本(戳我查看融云 CDN 服务详情)。 在此基础上,迭代后的融云 CDN 播放器 2.0,以性能优异、集成便捷等多种劣势满足开发者的 CDN 直播业务需要。近期,融云自研 CDN 播放插件 2.0 版本正式上线。在原有版本反对融云内置 CDN 直播流播放的根底上,凋谢了相干 API,满足开发者的多种业务需要。 融云 CDN 播放器插件 2.0 提供稳固、晦涩、丰盛的播放服务,且反对播放第三方 CDN 的直播流,进一步欠缺了融云 CDN 直播服务链路。 作为平安、牢靠的寰球互联网通信云服务商,融云服务笼罩寰球 233 个国家及地区,在直播解决方案中提供寰球笼罩、反对高并发、一体化视频解决、高清低码的 CDN 服务,保障直播用户体验的同时升高 CDN 减速服务老本(戳我查看融云 CDN 服务详情)。在此基础上,迭代后的融云 CDN 播放器 2.0,以性能优异、集成便捷等多种劣势满足开发者的 CDN 直播业务需要。 性能优异:融云 CDN 播放器插件稳固撑持海量客户的直播业务,联合业内最佳实际进行弱网优化等降级,为用户提供晦涩的播放体验。 ⚡集成便捷:反对 Android、iOS 平台,在不同平台下提供对立的接口设计,晋升集成便捷性。开发者通过 Maven(Android 平台)、CocoaPods(iOS 平台)疾速导入插件,同时也反对手动下载插件导入工程中。 ...

November 8, 2022 · 1 min · jiezi

关于cdn:阿里云CDN基于云边协同的转型创新实践

20余年技术,面临破局。 CDN(Content Delivery Network,内容散发网络) 是一个超大规模的分布式系统,为互联网各类App和Web站点提供动 / 动态内容、实时流媒体减速以及网络安全防护等能力。在线购物、直播、音乐、游戏、社交等等所有,都离不开它,其峰值申请数超过1亿次每秒。 能够说,这是深潜公众工作生存的无体感技术,等同呼吸。 该技术问世曾经超过20个年头,随着5G、云计算等新型基础设施减速遍及,大带宽、低时延、高并发的场景不断涌现,推动全网流量继续晋升,使得CDN业务量和应用场景更加激增。 而今,正值中国CDN倒退转型期,带动边缘计算、分布式云计算、云游戏等服务,成为该技术在新时代中更重要的使命所在。 十年磨一剑 阿里云CDN全面进入云边协同时代2014年开始,阿里云正式提供CDN商用服务。作为全球化的CDN服务提供商,阿里云在国内权威机构IDC公布的报告《2022寰球CDN服务商MarketScape评估》中,市场份额排名寰球第三,是惟一入选的中国厂商,并作为“Major Player”的重要角色。 起源:IDC《2022寰球CDN服务商MarketScape评估报告》 卓越背地,阿里云的基建始终在疾速扩张:截至2022年,阿里云已在寰球部署超过2800个边缘节点,全网带宽输入能力达150Tbps,承载寰球超过150万个沉闷减速域名,国内约有80%的TOP100网站/APP都在应用阿里云CDN。 阿里云CDN基础设施全球化布局 过来的十多年间,阿里云资源部署规模一直成长,自2014年商业化后也在继续迭代,其倒退历程能够依照以下三个阶段划分: 阿里云CDN倒退要害里程碑 阶段一,从0到1:2014年阿里云CDN商业化。在此阶段实现了CDN从0到1的打造,上线了T+S节点架构,淘宝等泛滥团体业务逐步向阿里云CDN上迁徙。阶段二,全球化规模:2018年至2019年DCDN公布,打造全球化规模。随着流量规模达到100 Tbps,业务逐步向全球化规模倒退,SCDN/DCDN产品推出,面向企业级利用进行寰球网络优化,开始提供动静减速、TCP/UDP四层减速,并反对WebSocket全链路传输。阶段三:边缘计算与边缘平安:近两年,随着流量见顶、流量品质不低等问题的呈现,阿里云CDN开始谋求破局扭转,聚焦于边缘计算、边缘平安等方面打造寰球平安减速平台底座,进一步倒退边缘基础设施,全面进入云边协同时代。全新一代减速引擎 超高可用的边缘平安减速平台过来,边缘云是从CDN延长进去的。当初,CDN是长在边缘云上的。 过来,CDN须要部署在服务器上。当初,CDN曾经全面云化,能够疾速扩大进行T+0的业务切换。 过来,CDN泛滥根本项的配置都须要供应商进行配置。当初,通过API化即可实现主动编排。 这所有的扭转,都是基于CDN底座三大要害能力的打造:边缘云网络、云原生、DevOps。 基于底座的三大要害能力,在全新的云边协同时代,阿里云对CDN进行了从新定位,即: “ 为在线业务提供超高可用的边缘平安减速平台。”致力于打造全新一代减速引擎,该引擎具备四大外围能力:一云多态、寰球网络优化、边缘计算、边缘平安。 一云多态从内核来讲,阿里云强调的是一云多态,其体现在新一代边缘平安减速平台基于本身灵便的边缘基础设施与Serverless能力,不仅能实现动态减速与动静减速的按需转换,还能在边缘云部署视频云,做转码,实现流量调度与算力调度的完满交融,这项能力也被称之为CDN on ENS(Edge Node Service,边缘节点服务)。 寰球网络优化面向在线数据,阿里云实现了全球化部署,资源宽泛笼罩,帮忙客户就近接入。同时,反对传统的标准协议与新一代HTTP3协定,适配更多利用场景,保障稳固、抗稳定的服务。 边缘计算面向云原生计算场景将边缘部署程序分为两种状态,第一种是Serverless函数计算状态,第二种是容器状态,能够间接部署至CDN边缘。边缘平安平安接入除了根底的WAF、Ddos、BOT、CC防护,阿里云基于CDN的全链路内容爱护与协定爱护,还领有更多的“平安+”能力。 减速,仍然是CDN的外围“ 只管有呼声认为,CDN要做冲破,做不一样的货色。但时至今日,减速仍然是CDN的外围。”CDN已承载着寰球80%以上的内容散发流量,为用户提供着老本和效率最优的网络减速解决方案。 新的内容散发网络要实现100%服务于在线数据,需将本身定位成数据中心的数据出站、散发的边缘基础设施,通过计算晋升散发速度,通过边缘平安撑持散发的业务连续性。 基于这肯定位,阿里云构建了在边缘云网络之上的CDN,网络具备了全新劣势与个性。 首先,是基于一云多态的组网劣势。 阿里的边缘云基于宽泛的节点能力,构建了阿里云的边缘网络,实现了边缘-核心、边缘-边缘、终端-边缘的无效链路,可能撑持其上行的各类业务。 在网络优化技术当先性上,能够通过容器化疾速开启与敞开,做到一天内几十TB业务场景的切换,为下层业务利用屏蔽简单的网络环境,提供高质量、疾速的端到端网络连接能力。 其次,这是一张合规性的网络,提供寰球合规、可信的云服务。 阿里云CDN服务着寰球客户,无论是国内还是海内,基建合规与数据合规都是客户关注重点。而边缘云采纳从核心向边缘辐射的形式,由大规模地区扩散的边缘节点互相协同组成的一朵可近程管控,平安可信,规范易用的分布式云。 第三点是通过容器化技术将CDN打造成高质量的产品。 CDN是一个典型的多租户云平台服务,其毛病是在物理机部署状况下,因为缓存共享、链路共享,很难做到无效的租户隔离。基于容器化技术,能实现多租户无效隔离,完满解决弹性与业务串扰问题,提供更灵便的资源调配服务,保障不同行业、不同客户业务的SLA与可用性。 “ 在这一层物理的网络设施上,阿里云到底有什么独特的劣势去解决寰球的笼罩和公网优化的问题?答案是:寰球优化的利用协定网络。”最开始的CDN是树状构造,数据直上直下、分层回源,这类固化的逻辑对于动态内容来讲是实用的,但对于动静内容和动静联合的内容来讲是不够灵便的。阿里云从树状网络到网状网络的构造转变,帮忙业务在任何时刻都可能抉择最优回源门路。 其次,通过自研利用协定网络优化,在传统的TCP/UDP协定上构建了新的寰球优化的利用协定网络,基于外部协定算法,在闭环传输的过程中提供了低延时的0RTT传输管道。 在此基础上,基于端-端、云-边的双边协议容灾,寰球优化的利用协定网络达到了99.99%的可用性,具备了抗稳定、区域优化、跨境优化等方面的个性。 CDN作为被动减速的业务,业务量越大、QPS越高,就越须要保障边缘缓存的热度与长连贯。 由阿里云构建的寰球优化的利用协定网络,通过网状网络及自研利用协定,完满解决了因而而产生的申请数太少导致断连、重连延时过大、无奈缓存等问题,实现了从被动减速到被动减速的转变及全场景反对。 无处不在的计算 边缘Serverless平台全新降级“ 为什么说边缘计算是为了更好的减速?”以2021年公布的首个边缘函数计算引擎EdgeRoutine为例,设计之初除了思考减速,还心愿充分利用边缘算力,减少边缘复用率,最终实现能耗的降落。往年,阿里云对EdgeRoutine再次进行了降级,首次减少了边缘存储产品EdgeKV,让开发者能够将边缘程序计算的数据得以长久化地存储在边缘,缩小往返数据中心的申请,进一步提高边缘的计算效率。 同时,EdgeRoutine已反对执行WASM格式文件,这代表着开发者能够应用诸如C、C++、Rust等更多WASM生态的开发语言来开发边缘程序不仅仅局限在过来的JavaScript,让边缘接入的门槛大大降低。 另外,边缘程序Beta版已开始公测部署容器镜像,开发者能够将现有的线上服务间接打包平滑部署至边缘,进一步升高部署和革新老本,极大晋升部署的便利性。 再者,阿里云勾销了边缘程序2MB的代码体积限度,给予开发者更多空间以执行更简单的代码,这些调整都深受开发者用户的欢送。 随着平台能力全新降级,带来平台规模的高速增长,尤其是边缘计算平台的日寰球调用量已超千亿次(去年为百亿次规模)。此外,边缘计算开启速度进一步放慢,实现秒级部署6000+Pod镜像。 去年双十一,淘宝外围业务应用了边缘程序EdgeRoutine,在经验了超高QPS并发的洪峰,整个程序的能力都变得更加成熟。对于用户而言,能体验到关上阿里系利用的丝般顺滑,这便是边缘计算带来的价值。 全新的原生防护让防力跟着“数据”走!中心化防护能力体系非常健全和残缺,但在数据出站后仍存在局限性,在数据出站达到客户端这一过程,仍可能被劫持、篡改,难以管控,此时,便须要边缘平安能力。 “ 从防力在核心,到“防力跟着数据走”。”针对边缘的防护等级与体系绝对核心较弱的痛点以及平安和减速共存的问题,阿里云CDN边缘根底安防体系进行了全面降级,实现了全面的云原生平安,与CDN减速、计算采纳同一个载体,实现齐全交融,保障了业务核心扩大到边缘部署过程中全链路的平安防护。 分布式进攻:构建弱小的边缘防护屏障,避免大规模攻打集中穿透至云核心,数据资产远离危险,“发动机不停车”;网格化封控:通过寰球超过2800个节点的网格化治理,对CC、BOT、Ddos等攻打施行无效“封堵”,杜绝危险外溢;近“源”式防护:贴身爱护数据“源”,就近压抑攻打“源”。除了惯例进攻外,依赖DCDN弱小全局流量治理能力,反对加密传输、防劫持,HTTP3等高级别的数据安全爱护。根底平安加上CDN侧端到端的平安,让用户上云上的释怀,上边缘云也释怀,这是阿里云打造边缘平安的最终目标。 一站式解决方案把“简略”留给客户阿里云的CDN倒退到明天这样的交融阶段,其实是一个极其简单的过程,但这种简单不能转嫁给客户。 ...

September 5, 2022 · 1 min · jiezi

关于cdn:秒懂边缘云-CDN基础入门HTTPS配置

作者:辰舒 章节内容:证书申请、上传、配置、常见问题 前言在应用HTTP协定进行内容传输时,内容都会以明文发送,不会提供任何形式的数据加密。如果您心愿业务的敏感数据在网络上传输时可能以密文传输,须要应用HTTPS协定。HTTPS是HTTP的平安版,行将HTTP用SSL/TLS协定进行封装,HTTPS的平安根底是SSL/TLS协定。HTTPS提供了加密通信办法,被宽泛用于万维网上平安敏感的通信,例如交易领取。 上个章节中,咱们学习了如何增加CNAME解析来接入CDN减速,如果业务须要HTTPS拜访,咱们还须要在解析前后配置HTTPS性能,如果域名有业务正在服务,举荐解析增加前进行配置,实现灰度测试后再调整解析。 本章节咱们独特学习HTTPS相干性能及配置,如果您的业务有相干拜访诉求,能够关注下文的实际领导内容。 筹备工作已创立实现的CDN域名。登录您已购买SSL域名证书的厂商控制台,如未购买,举荐通过 阿里云控制台 - SSL证书(利用平安)申请购买。配置接入依据您的状况,咱们将操作流程分为三个局部介绍,您能够参考流程图依据本身状况抉择配置 一、暂无证书时购买流程(可选) 二、内部证书导入流程(可选) 三、开启HTTPS平安减速 提醒:在开启HTTPS平安减速后,如果您还须要对其余HTTPS相干配置项进行理解和配置,能够持续参考下文中HTTPS性能介绍的内容。 操作流程示意图 一、暂无证书时购买流程(阿里云平台购买)域名开启HTTPS性能前,须要您筹备可用于绑定该域名的证书文件,如果您尚未申请证书,举荐您通过阿里云的证书治理服务购买SSL证书(即 SSL证书控制台)。 a.抉择 证书治理 - 购买证书,针对您的业务域名申请付费证书,实用于企业级、对安全等级要求较高的用户。b.抉择 收费证书 - 创立证书 - 证书申请,实用于安全等级要求个别的用户。 证书申请过程中,为了验证域名所有权,您须要填写申请表单内的相干信息,并且实现DNS验证或文件验证用于确认域名所有权,具体操作步骤您能够参考数字证书治理服务的产品文档疏导: https://help.aliyun.com/docum... 二、内部证书导入流程如果您曾经在其余平台购买了证书,能够在 阿里云控制台 - 数字证书治理服务 上传内部证书。 您须要登录内部证书后盾,针对须要导出的域名进行证书下载,从第三方平台导出证书到本地时,能够指定服务器类型,举荐您抉择 Nginx 类型 的证书文件下载以便于您后续上传证书。 证书下载到本地后,压缩包内至多会有2个文件,一个.key后缀文件(私钥)和 一个.pem 或 .crt后缀文件(公钥),不同厂商导出文件时,可能会有轻微区别,以理论导出状况为主。 惯例状况下,您购买的证书为国际标准证书,上传时抉择国际标准即可,证书名称自定义填写,仅用于在平台上治理辨别。咱们须要将刚刚导出的公私钥文件上传到阿里云平台,例如: 证书文件:又称为证书公钥,填写证书文件内容的PEM编码,公钥文件的后缀为个别.pem或.crt,应用文本编辑器关上复制并粘贴,或间接点击上传按钮抉择本地文件。证书私钥:填写证书私钥内容的PEM编码。私钥证书的后缀为.key,应用文本编辑器关上复制并粘贴,或间接点击上传按钮抉择本地文件。三、开启HTTPS平安减速证书上传实现/购买实现后,咱们关上CDN控制台的HTTPS配置页面,开启HTTPS平安减速性能后,证书起源抉择云盾(SSL)证书核心,点击确定后即可开启,操作示意图如下: 证书名称参考云盾控制台对应证书显示的即可,证书名称查看形式: 常见问题:如果您确认证书曾经签发或上传实现,但域名开启HTTPS时无可选证书时,常见起因如下: 如果域名申请时,抉择的是单域名证书 证书绑定域名须要和您的CDN减速域名齐全匹配能力进行绑定。例如 www.aliyun.com 的证书,无奈用于绑定 cdn.aliyun.com。您须要为 cdn.aliyun.com 独自申请一张证书。如果域名申请时,抉择的是泛域名证书 证书绑定的泛域名须要是您的CDN减速域名同级能力进行绑定,例如 .aliyun.com 的证书,只能用于绑定对应子域名,例如二级域名 cdn.aliyun.com,无奈绑定三级域名 video.cdn.aliyun.com。如需绑定多级子域名,您能够申请 泛域名证书 .cdn.aliyun.com 或 申请特定域名的单域名证书。HTTPS相干性能介绍HTTPS相干性能配置项为非必要的优化性能,次要用于优化传输效率或调整平安限度策略,您能够依据业务诉求判断是否开启。 配置HTTP/2(罕用)HTTP/2也被称为HTTP 2.0,绝对于HTTP 1.1新增了多路复用、压缩HTTP头、划分申请优先级和服务端推送等个性,解决了在HTTP 1.1中始终存在的问题,优化了申请性能,同时兼容了HTTP 1.1的语义。目前,Chrome、Edge、Safari和Firefox等浏览器曾经反对HTTP/2协定。 ...

August 5, 2022 · 1 min · jiezi

关于cdn:秒懂边缘云-CDN基础入门CDN解析配置

作者:辰舒章节内容:如何配置解析记录,已有CNAME/A记录时如何配置,如何查看解析配置是否失效,解析基本原理 前言上个章节中咱们学习了如何依据业务状况增加CDN域名并配置源站,但在增加实现后,域名尚未真正接入CDN服务,咱们须要将域名解析到特定的CNAME记录上能力使得终端用户申请时,用户的DNS解析域名时能通过CDN智能调度零碎拜访到本身周边的CDN减速节点。在本章节,咱们将持续为您介绍CDN域名的解析配置。 筹备工作已创立实现的CDN域名。登录域名所托管的DNS后盾,默认状况下,DNS后盾即是您购买域名的厂商对应控制台。配置接入依据您业务状况的不同,咱们将域名解析增加分为两种状况: 状况一:该减速域名以后已在业务中应用,须要将域名及业务迁徙到CDN上提供服务,例如须要迁徙CDN的是您线上已对外服务的www首页域名。状况二:该减速域名以后并未在业务上用于对外,调整解析时不会影响线上业务,广泛为减速域名和原服务域名不雷同的状况。小提示:本文及后续提到的减速域名是否被应用,均指该独立域名或独立子域名,例如:线上有 example.com 和 www.example.com 域名正在提供服务,但线上并未应用过子域名 cdn.example.com 对外服务,则视为减速域名 cdn.example.com 并未在业务中对外服务。 咱们将CDN接入解析的过程分为三个步骤: 步骤一:灰度验证服务可用性(可选)步骤二:操作CNAME配置步骤三:查看解析配置是否失效(可选)如果您是状况一(减速域名正在应用中)举荐您先依照【步骤一】,再执行【步骤二】,来确保线上业务的平滑迁徙。 如果您是状况二(减速域名未在线上应用中)能够疏忽【步骤一】,跳转【步骤二】。 操作流程示意图如下: 步骤一:灰度验证服务可用性在CDN域名配置实现后,咱们能够在本机将域名动态解析到某个CDN节点上,用于验收通过CDN减速后,业务是否失常服务,网站加载状态是否失常。例如您源站配置有误,或者当您业务中须要https拜访但增加域名后未配置证书时,灰度验证将帮忙您发现业务加载异样的问题。 获取CDN节点IP返回阿里云CDN控制台的域名治理列表,复制减速域名对应的CNAME记录值。获取CNAME对应的IP地址。阐明 以下通过ping命令失去的IP地址仅作为参考,理论以ping您的实在CNAME地址失去的IP地址为准。Windows零碎:关上终端命令窗口,在命令行中ping CNAME地址,失去ping的IP地址。Mac零碎:关上终端命令窗口,在命令行中dig CNAME地址,失去dig的IP地址。动态绑定解析在本步骤中,咱们须要在您的本地电脑绑定hosts文件,用于将拜访域名解析到某个特定IP上。您须要将步骤2失去的IP地址和减速域名绑定到电脑本地hosts文件中,绑定程序为IP地址在前,减速域名在后,程序不能颠倒。本文以减速域名为example.com,生成的CNAME地址为example.com.w.kunlunsl.com,ping example.com.w.kunlunsl.com失去IP地址为192.168.0.1为例,为您介绍绑定办法。Windows零碎:文件门路地位为C:\Windows\System32\drivers\etc\hosts,下图为绑定胜利的示例图。Mac零碎:文件门路地位为访达>文件夹>/etc/hosts,下图为绑定胜利的示例图。 本地拜访测试绑定解析后,您能够在浏览器中拜访该域名下的站点内容,或者验证某个资源是否能够失常拜访。如果您不确定hosts文件是否配置正确,您能够关上浏览器,拜访域名下的资源,通过浏览器自带的开发者工具(chrome右键-查看-network)查看服务端的响应IP地址。如果Remote Address后的IP和您在hosts文件中绑定的IP统一,示意配置正确,您能够在域名解析服务商处配置CNAME。如果Remote Address后的IP和您在hosts文件中绑定的IP不统一,示意配置不正确,您须要查看hosts文件中绑定的IP地址是否正确,确保该IP地址是CNAME地址的IP。胜利拜访减速域名后,如果您须要验证其它性能,可在电脑本地进行相应的验证,验证CDN减速后拜访合乎预期后,再操作步骤二。 步骤二:操作CNAME配置操作步骤二时,默认您已知悉并参考步骤一实现了灰度测试,或者,您增加的减速域名以后未在业务中对外服务。 配置时,咱们须要 获取您减速域名对应的CNAME值返回阿里云CDN控制台的域名治理列表,复制减速域名对应的CNAME记录值。关上您购买域名的厂商对应控制台,找到配置解析的地位。点击增加记录后,须要填写的内容如下 抉择记录类型为CNAME填写主机记录: 主机记录中仅需填写 减速域名去除主域名局部后的前缀即可,留神您例如: 当您须要对 cdn.example.com 减速时 :主机记录填写其前缀 cdn 即可。当您须要对 video.cdn.example.com 减速时 :主机记录填写其前缀 video.cdn 即可。当您须要对主域名 example.com 减速时 : 主机记录须要填写 @ 符号。当您须要对泛域名 .example.com 减速时 : 主机记录须要填写 符号(仅限CDN域名创立时,域名中填写的是泛域名 *.example.com 场景,如果您增加的是特定域名,请参考前3种配置示例)。填写记录值:将您在CDN管制台上复制减速域名对应的CNAME记录值拷贝即可。其余配置(解析线路/TTL)默认即可,您能够不做批改。填写结束后点击确认即可 如果提交胜利,您能够期待10分钟左右,待DNS解析失效后参考步骤三验证是否CDN减速胜利。如果提交时报错“解析记录抵触”(例如A记录抵触或MX记录抵触),您须要参考下文中的解析抵触解决进行操作。常见厂商及CNAME配置办法您也能够参考产品文档阐明:https://help.aliyun.com/docum... 解析抵触解决解析抵触个别是指该域名之前曾经被指向某个地位,如果再增加CNAME记录会导致前后抵触,DNS无奈判断域名最终应该拜访到哪里,常见的抵触类型为A记录或MX记录: A记录抵触(常见):该域名曾经被解析到某个源站 IP 地址上,例如之前的架构是用户间接拜访源站,后续须要通过CDN拜访,由CDN回源拉取资源。如果您已通过步骤一灰度验证域名通过CDN拜访原资源失常,您能够对原有的A记录进行批改,调整该抵触主机名对应的记录类型和记录值,解析批改失效工夫个别在10分钟左右。CNAME记录抵触:同一个域名增加两条CNAME记录时,局部厂商会依照轮询规定解析、不提醒抵触,也有厂商不容许同时存在两条不同CNAME记录。如果您须要将该减速域名全副流量切至阿里云CDN拜访,建议您在原有的CNAME记录上批改,只保留一条CNAME记录即可。MX记录抵触:触发MX记录抵触时,代表该域名已配置过MX记录(例如间接增加已有MX记录的主域名),依照RFC标准协议CNAME优先级最高,所以在解析申请过程中,会优先返回CNAME解析记录后果,这样设置的后果导致用户无奈申请到MX记录,间接对客户的邮箱业务造成应用影响。建议您思考增加其余减速域名用于拜访,或者配置MX转发规定,详情可参考文档:https://help.aliyun.com/docum...步骤三:查看解析配置是否失效解析配置实现后,个别在10分钟左右失效,局部状况下失效工夫可能晚于10分钟,但个别不超过30分钟。 办法一:一键验证 返回阿里云CDN控制台的域名治理列表。抉择指标域名,将鼠标指向减速域名的CNAME状态处,弹出CNAME配置向导弹框。单击关上配置向导后,再单击点击查问,一键验证。小提示:控制台解析验证通过探测的形式查问解析是否正确,可能存在解析获取提早或获取后果稳定的状况,如果您通过其余形式验证曾经拜访到CDN减速时,能够疏忽控制台提醒。另外,如果您仅配置了区域解析,可能会导致探测无奈感知您的解析后果,不影响拜访时提醒可疏忽。 办法二:通过ping命令验证 关上Windows操作系统中的cmd程序(MacOS操作系统能够关上启动台-其余-终端)。在命令行中ping减速域名,如果返回的解析后果和CDN管制台上该减速域名的CNAME值统一,则示意CDN减速曾经失效。 CDN解析原理实现上述配置后,您的域名就正式接入了CDN进行服务,那么此时终端用户拜访时,DNS是如何工作的呢? 假如您的减速域名为www.aliyundoc.com,接入CDN开始减速服务后,当终端用户在北京发动HTTP申请时,解决流程如下图所示。 当终端用户向www.aliyundoc.com下的指定资源发动申请时,首先向Local DNS(本地DNS)发动申请域名www.aliyundoc.com对应的IP。Local DNS查看缓存中是否有www.aliyundoc.com的IP地址记录。如果有,则间接返回给终端用户;如果没有,则向网站受权DNS申请域名www.aliyundoc.com的解析记录。当网站受权DNS解析www.aliyundoc.com后,返回域名的CNAME www.aliyundoc.com.example.com。Local DNS向阿里云CDN的DNS调度零碎申请域名www.aliyundoc.com.example.com的解析记录,阿里云CDN的DNS调度零碎将为其调配最佳节点IP地址。Local DNS获取阿里云CDN的DNS调度零碎返回的最佳节点IP地址。Local DNS将最佳节点IP地址返回给用户,用户获取到最佳节点IP地址。用户向最佳节点IP地址发动对该资源的拜访申请。 ...

August 5, 2022 · 1 min · jiezi

关于cdn:秒懂边缘云-CDN基础入门CDN域名添加

作者:辰舒章节内容:域名增加、源站设置、减速区域抉择、资源分组 前言上个章节中咱们理解到CDN通过多级缓存、就近调度拜访节点来实现申请的减速,那么如何让您的业务接入CDN服务并实现终端用户的体验晋升呢?在本章节,咱们将持续为您介绍CDN产品的接入流程。 筹备工作开明CDN服务,您须要注册阿里云账号并实现账号实名认证,登录阿里云CDN平台后抉择立刻开明产品。已有可在公网上通过HTTP(s)协定拜访的源站(OSS/ECS等)。配置接入配置CDN过程有三大必要配置:根底信息、业务信息、源站信息,咱们将会把配置过程分为两大部分。 根底信息及业务信息配置为了帮忙您更好的了解CDN配置项的性能和含意,在正式配置前,咱们建议您追随小问卷的模式对您的现有业务状态进行剖析,使得最终配置可能贴近您的业务场景: 1.您心愿在CDN减速前后,资源的拜访域名是否发生变化? a.变动,CDN减速后用另一个域名拜访。(创立域名后需关注文章「其余罕用配置」中的回源HOST性能)b.不变,原有域名业务全副迁徙到CDN上。2.您心愿减速的业务场景是什么样的? a.多种资源共存的门户网站、企业官网、集体博客等b.点播视频播放c.安装包/大文件下载3.您的源站内容是动动态业务独立部署的吗?(动静申请例如进行登录、评论、提交订单等操作,动态申请例如获取图片、视频、文档等操作) a.是的,动动态申请应用了不同站点域名接入b.不是,动动态申请应用了雷同站点域名接入小提示:抉择B时,举荐减速场景应用全站减速DCDN。4.您的域名是否曾经进行工信部备案? a.是的,已实现工信部备案。b.不是,尚未备案 或 源站在海内无奈备案。小提示:未备案域名无奈为中国边疆用户提供CDN减速服务,后续配置时减速区域只能抉择寰球(不蕴含中国边疆)。5.您心愿享受减速成果的用户次要散布在哪里? a.中国边疆,只须要对这部分用户保障减速成果即可,不须要海内减速节点。b.寰球(不蕴含中国边疆),只须要对中国边疆以外的用户保障减速成果即可。c.寰球,用户在各地均有散布。在实现第一阶段的小问卷后,您能够带着对上述小问卷中的匹配后果来实现CDN控制台增加域名页面的各个配置项,咱们将为您持续解读其含意和倡议配置值,您能够依据本身状况实现下列配置 。 另外,如果您须要理解配置项的具体规定,也能够参考CDN产品文档链接:https://help.aliyun.com/docum... 减速域名:如果您心愿CDN减速前后拜访域名不变,减速域名中填写您须要减速的业务域名(例如 video.aliyun.com)即可。如果减速时须要应用其余域名,您也能够自行定义域名增加(例如cdn.aliyun.com)业务类型:抉择和您业务匹配度最高的一项即可。 如果您的业务中动动态业务未分离部署,举荐应用全站减速。不同配置项在各个场景上有肯定优化,但CDN并不限度减速文件类型。如果您的域名中含多类型文件类型时,抉择最贴近的即可。减速区域:抉择须要应用的CDN减速节点覆盖范围。 抉择仅中国边疆或寰球时,您的减速域名须要在工信部实现备案。减速区域仅影响您的减速节点覆盖范围,区域无减速节点笼罩时,将会解析到减速区域内的节点。例如域名减速节点不含中国边疆时,中国边疆用户拜访默认将通过海内节点进行接入。资源分组:抉择默认分组即可。如果您须要依据业务部门、我的项目等维度进行云资源的分组治理,您也能够通过创立资源组来实现。另外,为了确保域名只被真正的拥有者增加,首次在CDN控制台增加一个新域名时,须要实现域名归属权验证,验证通过后您再次增加该域名或子域名时,无需再次验证。具体操作请参见验证域名归属权。如果之前曾经验证通过根域名的归属权,请疏忽。 源站信息配置在实现根底信息和业务信息的填写后,进入到的源站信息配置。源站信息将决定CDN首次拜访资源时,如何回源以及回到哪里去获取资源,配置谬误可能会导致您的域名呈现无法访问到的状况,因而咱们依然倡议先对您的业务特色进行剖析: 1.您须要减速的源站是云存储吗? a.是的,OSS存储。(问卷完结,无需实现后续作答,如为公有OSS空间,创立域名后需关注文章「其余罕用配置」中 阿里云OSS公有Bucket回源 性能)b.是的,其余厂商的云存储服务。(问卷完结,无需实现后续作答,创立域名后需关注文章「其余罕用配置」中 回源HOST 性能)c.不是。2.您须要减速的源站是阿里云-函数计算吗? a.是的。(问卷完结,无需实现后续作答)b.不是,是ECS/其余云厂商的云服务器/物理服务器等3.您心愿CDN间接回源您的源站吗? a.是的,CDN间接回源服务器即可b.不是,须要通过WAF等云服务接入、转发4.您心愿CDN从您源站获取资源时,应用http协定还是https协定呢? a. 都能够,不限度。b. 全副用https协定,安全性更高。(创立域名后需关注文章「其余罕用配置」中 回源SNI 性能)5.您的源站http拜访时,会强制跳转为https协定吗? a.是的,会通过3xx重定向跳转为https协定拜访。b.没有该策略。小提示:抉择A时,后续配置时应用https协定回源6.您源站的web服务部署的是默认端口吗? a.是的,部署在80/443端口。b.不是,web服务部署在非凡端口上。小提示:抉择B时,后续配置须要留神回源端口和回源协定的配置。7.您心愿多站点回源,还是单站点回源即可? a.单站点回源,我只有一个源站。b.多站点回源,须要主备/轮询回源。小提示:多站点时,须要增加多源站,并配置优先级、权重。实现第二阶段的小问卷后,您同样能够带着对上述小问卷中的匹配后果来实现源站信息中的配置项,咱们将为您持续解读其含意和倡议配置值,您能够依据本身状况实现下列配置 。 另外,如果您须要理解源站配置项的具体规定,也能够参考CDN产品文档链接:https://help.aliyun.com/docum... 源站信息: 如果您的源站是OSS或函数计算,您能够抉择并填写OSS源站域名(列表搜寻存储空间名/抉择自定义域名)或函数计算域名.如果您的源站是动静IP接入,例如是其余厂商的云存储服务或WAF等须要通过域名回源的场景,您能够抉择并填写源站域名。如果您的源站是ECS或其余厂商的云服务器,优先举荐应用IP源站回源。优先级: 单个源站时无需批改。该性能反对在多源站场景时进行主备回源,仅在主源站故障时切换,因内容不存在呈现404时不会轮询,因而倡议放弃多源站之间内容一致性。权重: 单个源站时无需批改。该性能反对在多源站场景时依据权重调配回源比例,数值越大,源站调配到的用户申请比例越高。您能够依据业务需要,自行设置权限值,同时倡议放弃多源站之间内容一致性。端口: 源站未部署在非凡端口:填写80(HTTP协定回源)或443(HTTPS协定回源)即可,如果业务对回源内容安全性有要求,或者您的源站配置了在收到HTTP申请时主动重定向到HTTPS性能,回源倡议应用443端口。源站部署在非凡端口:填写服务部署的对应端口即可,默认应用HTTP协定回源。如果须要HTTPS协定回源非凡端口,您能够提交工单申请后盾配置。其余罕用配置实现上述三大配置项之后,您能够进行创立域名,除了上述常见配置外,还有几项回源相干的配置项须要关注,您能够在域名创立后,依据业务需要在域名治理-配置-回源配置中批改: 回源HOST:拜访源站时,指定HTTP申请中携带的HOST头部,决定了拜访源站服务器上的哪一个站点。默认状况下,回源HOST将与您的减速域名保持一致。 回源阿里云OSS时,会主动增加回源HOST为存储域名,如果您为其余云厂商的OSS服务减速,须要手动配置回源HOST为对应的源站域名。回源WAF时,无需配置此项,CDN和WA独特应用时个别为CNAME接入模式,拜访HOST应用默认的减速域名即可。CDN减速域名和源站配置的ServerName不同时,须要手动配置回源HOST为源站内容对应的ServerName。 回源SNI:回源应用了443端口(HTTPS协定回源),且源站部署了多个平安站点,倡议手动配置回源SNI和回源HOST保持一致(手动配置为减速域名 或 自定义的ServerName)。阿里云OSS公有Bucket回源:当您的源站为阿里云OSS公有存储空间时,默认每次回源申请须要携带鉴权参数,开启该配置后,CDN回源OSS时会主动签算鉴权凭证。 开启该性能后,通过CDN拜访OSS资源时,默认无需携带鉴权参数即可拜访,如有平安防护需要,举荐您能够通过CDN上的其余安全策略进行访问控制。拜访URL的query中含有OSS鉴权参数时,会导致同资源的参数值不雷同,默认无奈共享同一资源的缓存并利用其减速,因而,举荐您通过CDN的鉴权管制进行平安管控,申请时仅携带CDN鉴权参数即可。完结至此,CDN域名的创立和源站配置就曾经根本实现,配置实现后,域名尚未真正接入CDN服务,咱们仍须要将域名解析到特定的CNAME记录上,能力使得申请时通过CDN的调度零碎拜访到周边减速节点。咱们将在后续章节中持续为您介绍CDN的解析配置以及其余相干性能的应用。

August 3, 2022 · 1 min · jiezi

关于cdn:秒懂边缘云-快速入门CDN原理及架构

作者:辰舒 背景当下,各类门户网站、短视频、剧集观看、在线教育等内容生态疾速倒退,互联网流量出现爆发式增长。在凑近用户的中央就有CDN节点,用户通过手机或PC畅快浏览网页、视频、图片时,都须要CDN提供减速。作为经验二十多年倒退的技术,CDN已成为撑持互联网产业凋敝以及数字经济疾速倒退的重要基础设施。 本文将为您介绍「CDN 原理」以及「CDN 在用户体验的晋升中施展了什么样的作用」。 传统网络散发面临的瓶颈与挑战CDN 并不是互联网诞生之初就始终存在的,而是在撑持各类互联网业务高速倒退的过程中应运而生并一直发展壮大的。未应用 CDN 减速时,大量用户申请须要穿梭互联网骨干网能力获取源站内容,内容散发常面临着以下几项挑战: 用户间隔源站间隔较远,网络链路易拥塞,长距离传输对终端体验并不敌对,易呈现卡顿、慢速问题。源站部署在复线(单个运营商)机房时,跨运营商拜访品质差。源站部署在 BGP /多线机房时,带宽的老本低廉,且固定进口带宽时易成为服务瓶颈,突发流动须要扩容。内容散发业务须要投入高老本进行服务器配置扩容,并且随同高并发业务保护的人力老本。 而在业务应用 CDN 减速后,用户能够就近在边缘 IDC 节点下载到所需内容,极大地晋升了用户体验,不仅让业务内容散发效率晋升,也分担了源站的负载压力,使得源站服务聚焦于对非动态内容的业务解决,可能更加从容高空对突发业务带宽。通过智能回源进口抉择,也可能防止复线机房跨运营商拜访造成的不稳定性。 同时,相比 BGP 机房的带宽单价,CDN 将散发内容产生的流量老本升高到极致,同时通过选购 CDN 资源包还可享受更多优惠。 CDN 是什么互联网内容的散发模式与传统商品货物的散发模式有许多共通之处,在介绍 CDN 是什么之前,咱们无妨思考一下是哪些因素让日常生活的购买效率更高,时效性更强? 首先,交通工具的便当及路线基建能力的晋升,运输效率晋升,让货物运输速度更快。其次,仓储物流能力的建设,货物在多地仓库分布式仓储,位于同地区的多个超市便利店可抉择从本地仓库间接进货,而顾客也能够间接在家门口的超市便利店购买所需商品,无需用户和源头生产厂商间接实现订单交易。最初,售卖点的数量、覆盖范围的扩张也都为购买过程带来了体验上的改善,每个小区门口甚至单元楼都曾经笼罩了便民超市,现在最近间隔商品交易只需从身边的主动贩卖机就可能实现。CDN的全称是Content Delivery Network,即内容散发网络。CDN是构建在现有网络根底之上的智能虚构网络,依附部署在各地的边缘服务器,通过核心平台的负载平衡、内容散发、调度等功能模块,使用户就近获取所需内容,升高网络拥塞,进步用户拜访响应速度和命中率。 如何更艰深地去了解 CDN 是什么呢,咱们也无妨尝试用购买效率晋升的思路来帮忙了解:CDN 在网络上的作用就像事实中用户身边的主动贩卖机、家门口的超市、各地的集中仓储,让用户能够最近间隔很快捷的获取所需商品。 从技术视角了解,CDN 通过多级代理服务器对源站内容(例如 js/css/html/mp4 等)进行缓存,让动态内容缓存在间隔用户更近的 IDC 机房节点上,实现用户获取资源的网络间隔大幅度缩减,进而晋升终端用户体验和传输效率。 CDN 架构和拜访流程如果要实现对寰球业务的散发减速,天然须要海量节点储备用于给终端用户提供服务,而作为一个全球化的分布式系统,CDN 对系统性能和稳定性有十分高的要求,以后阿里云 CDN 次要由调度零碎、链路品质零碎、缓存零碎、撑持零碎等子系统组成,这些子系统独特形成了 CDN 大脑神经网络来保障 CDN 的日常服务。 调度零碎:反对策略核心、DNS、HTTPDNS和302调度模式。当终端用户发动拜访申请时,用户的拜访申请会先进行域名DNS解析,调度零碎将依据用户解析申请中携带的 IP 地址判断其区域、运营商,为用户抉择并返回最佳接入节点 IP (DNS 未携带客户端 IP 时,调度依据DNS IP决策)。链路品质零碎:实时监测缓存零碎中所有节点和链路的实时负载以及健康状况。调度零碎在决策最优节点时,也会综合链路品质、实时负载等因素来为用户调配服务节点。缓存零碎:用户通过收到的最佳接入节点 IP 拜访对应的缓存节点,如果节点曾经缓存了用户申请的资源,会间接将资源返回给用户。撑持零碎:撑持服务零碎包含监测零碎、数据智能和配置管理系统,别离具备了资源监测、数据分析和配置管理能力。 创立 CDN 减速域名后,CDN 将为您的减速域名调配 CNAME 记录值,您须要将域名解析至 CNAME 记录后能力接入CDN的智能调度零碎。在正式接入 CDN 后,终端用户拜访时通过的流程大抵如下: ...

August 3, 2022 · 1 min · jiezi

关于cdn:节省50成本京东云重磅发布新一代混合CDN产品

日前,京东云重磅公布更强性能、更低成本的CDN服务——MCDN。 作为面向未来的下一代混合CDN,MCDN基于京东笼罩寰球的自有CDN节点资源,以及100万+的边缘计算资源而构建。 通过混合调度、内容预置、散发策略等形式,为用户提供更晦涩体验的同时,显著升高内容散发老本,实现50%老本节俭。 数据量爆炸式增长新一代混合CDN应运而生 5G时代的全面降临,直播、短视频、云游戏、主动驾驶等倒退迅猛,数据传输量呈爆炸式增长,同时终端用户对网络传输速度、播放清晰度、体验晦涩度等需要也一劳永逸。 CDN服务商要可能提供覆盖面更加宽泛、体验更加稳固晦涩、性能更加强悍的CDN服务。此外,作为触达用户并晋升体验的必要环节,CDN应用方对降低成本有着最迫切的需要。 通过将服务下沉到离用户最近的边缘节点,在边缘进行散发,能够进一步升高传输延时、缩小带宽老本,满足大规模、实时互动需要。 降本50%寰球资源提供撑持 京东云MCDN 在保障卓越性能的同时,实现资源和接入老本的双降。 在资源方面,京东云MCDN基于丰盛的百万级自研边缘计算产品和海量的碎片化闲置资源,为客户提供更低成本的内容散发服务,比云厂商 CDN 价格下降近 50%,可显著升高客户的应用老本。在接入方面,通过 CDN+多级边缘节点调度,一个申请可由 CDN 和多个异构资源同时提供减速服务,通过资源冗余进步了服务可用性,播放晦涩率高于传统 CDN,在大文件下载场景中速度晋升更为显著。此外,MCDN还可通过灵便进行全局智能调度,为客户屏蔽资源的异构差别,显著升高接入老本。 当先技术保障网络散发晦涩、平安 京东云通过多源下载、弱网优化、近源调度等行业当先的技术能力,以及全方位的平安防护体系,保障极致晦涩与平安的用户体验。 通过向多节点同时发送申请来升高卡顿率;通过对传输协定进行优化,晋升用户弱网环境下拜访成功率;基于全局智能调度,将用户申请调度至拜访最快的节点,显著晋升用户晦涩体验,买通数字世界的“最初一公里”。在平安保障方面,通过防盗链、抵挡 DDoS 攻打、数据安全方面的多重平安防护机制,为用户提供高效保障,并基于边缘计算节点的缓存应用高强度加密,避免内容被篡改,晋升安全性。 全面凋谢助力力客户享受低成本高性能CDN 京东云MCDN基于京东优质网络基础设施和云计算技术,向客户提供低成本、高性能、可扩大的互联网内容散发服务。 以后,京东云MCDN对内高效撑持了京东外部批发、物流等多状态业务,对外全面凋谢能力,为更多客户提供更强性能、更低成本的CDN服务。 基于MCDN的从底层基础设施、混合多云操作系统、到下层利用的超高兼容性和弹性能力,让客户能够依据本身业务需要,疾速实现技术服务的平滑弹性扩大。

August 2, 2022 · 1 min · jiezi

关于cdn:玩转云端|-一文读懂天翼云CDN升级重点

信息时代,高效、平安地把丰盛内容交付给不同地区的用户,对于许多政企单位来说至关重要。然而,随着内容交付场景规模不断扩大,交付复杂程度进步,平安需要晋升,内容散发工作也迎来新的挑战。 在刚刚完结的天翼云4.0翻新成绩发布会上,天翼云CDN在资源能力、业务承载量、客户体验、平安、效率等方面全面降级,满足客户在数字时代高标准的内容交付需要,助推客户业务飞速发展。 天翼云CDN新品来袭打造互联网界“优质快递服务” 天翼云CDN,基于天翼云遍布全国的网络节点提供内容散发减速服务,致力于打造互联网界的“优质快递服务”。既然是“快递服务”,CDN的调度、传输能力成为掂量产品质量的重要指标。天翼云CDN可基于EDNS的精准调度和节点下沉,让客户首包用时降落75%,TCP时延降落50%,下载速率晋升275%;在传输方面,天翼云CDN采纳公有传输协定,可能放慢数据传输速度,并通过弱网增强技术改善传输速率和品质。自去年以来,天翼云打造了动静减速、平安减速等产品,为客户提供高质量的内容传输服务。正是基于上述能力与劣势,天翼云CDN产品的客户服务品质名列前茅。随着各类办公利用产品应用频率进步,客户对于利用零碎内容的交付效率提出了新需要,对此,天翼云公布了利用减速产品,进一步欠缺CDN产品体系。 天翼云边缘计算技术专家鄢智勇在发布会中介绍,本次天翼云CDN新增TCP/UDP协定层减速,实现对OA/邮箱、视频会议、SSL VPN等办公利用场景,制造业业务零碎,在线交易、行情数据推送等金融场景,以及互动指令、语音聊天等游戏场景的减速。 天翼云“优质快递服务”背地的底气资源、技术再晋升在天翼云不断完善的产品背地,是资源层面的全面晋升。目前,天翼云自有节点由400+降级到600+,笼罩230+城市,其中省会及直辖市覆盖率达100%,全网则笼罩1800+节点。在此基础上,天翼云还把服务幅员延长至寰球,资源笼罩寰球60个国家、90多个单干运营商,100多个节点,目前可为寰球客户提供包含全站减速、CDN减速、利用减速等多种CDN减速与性能优化服务,实现一站式寰球内容散发,促成客户海内业务倒退。在承载量方面,天翼云反对全网减速能力,可承载全国110T以上的带宽能力。  除了在资源和服务方面“以客户为核心”优化迭代,天翼云的技术倒退与翻新也紧跟客户需要,获得了以下冲破。 ✓反对HTTP3.0 协定HTTP3.0是一种基于UDP开发的低时延的互联网协议,提供与TLS/SSL相当的安全性,同时具备更低的连贯和传输提早。因基于UDP开发,HTTP3.0领有极佳的弱网性能,在丢包和网络提早重大的状况下仍可提供可用服务,天翼云目前已反对HTTP3.0协定,可为客户在弱网环境下提供更快更稳固的拜访体验。  ✓反对国密算法国密是由国家明码管理局制订的SSL算法规范,泛滥政企和银行金融类客户对该计划需要迫切。目前,天翼云CDN已反对自助部署域名证书,证书算法同时反对国内和国密规范,能完满适配金融、政企客户的需要。✓AI助力CDN内容审核为及时无效地帮忙客户躲避因内容管控能力有余而引发的政策和法律危险,天翼云自主研发“AI内容鉴定+散发”自动化内容审核能力,可及时无效地辨认涉黄、涉恐、涉爆等违规内容,并反对疾速的全网封禁性能,无效帮忙客户实现“净网散发”。 多场景利用天翼云以CDN催生更多“数字果实”在多年倒退中,天翼云CDN构建了资源更丰盛、能力更多样、业务更平安、服务更到位的差异化劣势,并为不同需要的客户提供优质服务。 架起VIVO手机与用户的高速传输桥梁以VIVO手机的内容散发减速需要为例,VIVO手机领有2.2亿日活用户,手机日常应用波及很多接口类服务,如利用商店内下载域名调度接口、智能短信接口等,如何借助CDN将内容最快分发给用户,晋升用户应用体验? 天翼云CDN在用户与VIVO源站间架起了高速传输的桥梁。基于全站减速产品,天翼云可能为客户提供动静混合的一站式减速计划。当用户拜访时,智能拆散动动态内容,动态内容就近获取缓存,动静内容通过智能选路获取最优门路回源。通过该计划,不仅晋升动动态业务的响应速度,同时通过多种回源策略,保障源站的高可用性。 在天翼云CDN的加持下,VIVO手机拜访可用性放弃在99.9%以上;即使达到高并发最高QPS(每秒查问率)332万时,依然能够提供稳固的服务。 此外,因为VIVO利用商店用户数量泛滥,天翼云CDN还提供了下载减速服务,承接VIVO超2T的利用商店下载业务,解决用户跨地区、跨运营商的利用下载、软件下载、版本更新等问题。实测利用商店APP下载速度可达13.8MB/S。 平安减速保障核酸检测后果查问平台在高并发下稳固运行另外,面对核酸检测后果查问平台高并发、高牢靠的挑战,天翼云CDN通过智能拆散动态内容,缓存图文、核酸后果、身份数据等,卸载回源流量;通过连贯性能优化,升高客户查问核酸后果的tcp连接数,会话数等,并基于智能调度及自研最优链路算法,无效缓解极其状况下的高并发、拜访卡顿等问题,确保核酸检测后果查问平台稳固运行。与以往降级设施的解决方案相比,天翼云CDN为客户节俭了贵重的工夫,在抗疫中施展了踊跃作用。 减速远程教育内容散发在高并发下稳固运行在远程教育场景中,天翼云CDN产品通过提供动态减速、下载减速、视频点播、视频直播减速等性能,让老师与学生间的近程互动更快、更晦涩、更平安,为实现教育公平化添砖加瓦。 德勤(Deloitte)报告显示,2022年,CDN将承当总互联网流量的72%,高于2017年的56%。可见,使用CDN 承当内容治理散发已成为企业共识。而天翼云将紧跟行业倒退步调,敢于冲破高精尖技术,瞄准客户关注畛域,打造行业优质CDN产品业务计划,解决内容交付难题,促成客户业务凋敝倒退。

June 2, 2022 · 1 min · jiezi

关于cdn:Blog-CDN加速

Blog CDN减速在之前的文章中,应用Docker Compose &Halo 搭建博客,随同着访问量的晋升(其实并没有),感觉有必要应用CDN服务做个网站减速了,毕竟七牛云也提供了肯定的收费额度... 什么是CDNCDN 的全称是(Content Delivery Network),即内容散发网络,艰深的了解就是CDN服务提供商提供了若干的缓存服务器节点,或者称作是缓存边缘节点,通过将用户网站的内容提前缓存到这些节点中,那么网站的用户则能够通过就近的节点获取网站内容,从而实现网站减速的成果 当然,除了网站减速的性能,正确配置的 CDN 还可帮忙爱护网站免受某些常见的歹意攻打,比方DDOS步骤在七牛云全站减速页面增加域名 对于证书,在Traefik为服务增加HTTPS反对文章中应用letsencrypt申请,申请失去的证书数据存储在acme.json文件中,为了将其转换为个别的pem和key文件,能够应用traefik-certs-dumper镜像执行转换,该镜像应用Docker Compose部署的yaml脚本如下: version: '3.7'services: certdumper: image: humenius/traefik-certs-dumper:latest volumes: - /root/traefik:/traefik:ro - ./output:/output:rw environment: - ACME_FILE=/traefik/acme.json - DOMAIN=blog.demoli.xyz restart: always healthcheck: test: ["CMD", "/usr/bin/healthcheck"] interval: 30s timeout: 10s retries: 5/root/traefik是acme.json文件所在的文件夹转换失去的证书文件将被寄存到当前目录下的output目录下环境变量DOMAIN指定要提取的域名更多配置参考镜像GitHub README当然应用了letsencrypt的证书也就意味着须要手动执行证书的更新,这一点务必留神对于源站测试,这里间接应用一篇博客做测试,其实这里有待改良,这个测试文件应该是一个固定的文件,能够选用服务中的固定动态文件做测试用创立结束后,进行域名验证,依照提醒向域名提供商的操作界面中增加TXT记录即可,随后点击验证 验证通过后,增加CNAME记录,主机名还是减速域名的主机名(以本文为例即是blog),类型为CNAME,值为七牛云提供的CNAME值,留神增加前首先关停之前的A记录的解析,否则会抵触增加解析后应用nslookup blog.demoli.xyz验证 参考什么是CDN,以及其原理CDN是什么CDN回源配置问题应用七牛云减速网站配置为什么减速域名与回源域名不能雷同

April 26, 2022 · 1 min · jiezi

关于cdn:天翼云CDN最佳实践

CDN的最佳搭配是对象存储。视频点播、apk等文件下载散发倡议应用对象存储,把文件放在对象存储上,将对象存储作为CDN的源站。如果是纯动态网站,甚至能够把整个网站全副放在对象存储上。 CDN能够起到暗藏源站IP的作用,避免源站IP受到DDOS攻打。源站在负载平衡、下一代防火墙或者间接在云主机上对CDN节点配置白名单,其它地址拜访将被回绝。天翼云CDN已反对将CDN和云WAF相结合,变身为SCDN即平安减速,同时领有CDN减速、Web网站防护和抗DDOS性能。 应用CDN倡议对业务进行调整,将动静和动态申请进行拆散,让动静和动态申请切分到不同的域名。对动态申请接入CDN动态减速,对动静申请可依据须要接入全站减速或云WAF,如果源站有平安防护也能够动静申请间接回源站。 接入CDN后源站基于日志统计的访客拜访统计将不再精确,能够在CDN控制台对拜访进行剖析统计,如访客省份、运营商、流量、申请数等等信息。 CDN缓存规定能够针对文件扩展名、指定目录、或者特定的拜访链接。缓存工夫要依据业务需要配置,对常常变更的文件缓存工夫不要设得太长,不常常变更的文件缓存工夫能够设长一些。缓存工夫次要影响CDN回源站的流量。 如果源站对文件进行了更新而缓存没有过期,则访客收到的依然是老文件,能够在CDN控制台进行强制刷新,刷新后缓存立刻生效,访客将拜访到新文件。能够对全站全副刷新,也能够只对指定的目录、指定的链接进行刷新。不倡议全站刷新,全站刷新将造成回源流量短时间内增长。 对于视频点播等大文件,倡议提前在CDN管制台上进行预热散发,把文件提前推送到CDN的核心节点,避免突发拜访时产生大量回源申请,对源站造成压力。 能够在CDN控制台对命中率进行剖析,如果命中率低,就阐明有很多文件没有被CDN缓存,须要对热门回源链接进行剖析,调整缓存策略。 能够在CDN控制台查看回源热门链接,如果回源链接是动态申请且申请量较大,阐明该链接的文件没有被缓存或者缓存工夫过短,须要对缓存配置进行优化。 能够在CDN控制台对http状态码及对应状态码的申请链接进行剖析,重点查看4xx及5xx谬误。如果404谬误高,就阐明网页中有死链且还有很多人拜访,须要找到对应的链接进行解决。如果500及502谬误高,阐明Web服务器有外部谬误或业务逻辑谬误,须要联合Web服务器的日志进行排查。如果504谬误高,阐明有很耗时的利用超时了,须要调整CDN回源超时工夫,或者是源站有丢包,须要对源站的网络品质进行查看。但要记住,这些谬误不可能齐全打消。如果拜访到一个谬误的链接或者有网络扫描,也会触发403或404谬误。5xx谬误不可能齐全打消,只能尽量减少5xx谬误,把5xx谬误管制在业务失常运行范畴以内。 如果通过CDN拜访呈现5xx谬误或无法访问,能够通过批改电脑的hosts文件,将域名解析指向源站进行比照测试。如果确认问题在CDN且短时间内无奈复原,能够通过批改DNS指向源站,绕过CDN间接回源站。 新业务接入CDN在进行域名配置后,同样能够通过批改电脑hosts文件,将域名解析指向CDN节点进行测试。如果测试业务齐全失常,则能够批改DNS,将CNAME记录指向CDN使业务切换到CDN。 新业务批改域名解析接入CDN后,能够通过站长之家ping检测  https://ping.chinaz.com/ 相似的服务进行检测,查看域名解析是否全网失效。 以后用户拜访到的CDN节点能够通过在命令行下ping域名,或者在浏览器的开发者模式中查看。呈现个别中央无法访问,在报故障时须要报告拜访到的CDN节点,便于故障排查。 CDN调度是依据DNS申请判断访客的所在地,会尽量采纳当地的CDN资源进行笼罩,比方CDN会尽量让湖南长沙电信用户会拜访到湖南长沙的电信CDN节点,移动用户拜访到湖南长沙的挪动CDN节点。如果ping域名发现节点被调度到外省,甚至是其它运营商,阐明DNS可能不是应用当地运营商DNS,能够查看本人的DNS设置。能够通过 http://nstool.netease.com 这个小工具检测,看看本人的DNS被递归到哪儿。 须要在各运营商的DNS逐渐反对edns-client-subnet协定后,CDN调度核心能通过DNS申请获取访客的实在IP,做到更准确的调度,也就不再有湖南用户被调度到山东的问题。 114.114.114.114 这个DNS服务不是中国电信向公众提供的DNS服务,请尽量应用当地运营商提供的DNS服务。 CDN默认的策略是不对问号前面的参数进行缓存,则CDN把http://www.aaa.com/aaa.jpg 和 http://www.aaa.com/aaa.jpg?t=... 当成两个雷同的文件。不论前面的参数如何变动,理论文件还是同一份,则须要在缓存策略中开启去问号进行缓存,缩小回源量。否则每个申请都要回源站去取。 如果某种类型的文件设置了缓存策略,但该类型文件的某些文件不须要缓存,须要确保每次拜访到的都是最新版本,则须要敞开去问号缓存,同时在源站网页的动态链接前面带上一个参数,常见的是带上 ?t=1644998252 相似的参数,参数个别取以后的工夫戳。这样每次访客刷新时因为工夫戳变更了,浏览器不会缓存,CDN上也不会缓存,保障每次取的文件都是来自于源站的最新文件。

April 6, 2022 · 1 min · jiezi

关于cdn:华为云CDN加速OBS桶文件最佳实践

当初越来越多的行业应用OBS桶存储图片、视频、软件包等动态资源文件,并将OBS桶作为网站、论坛、APP、游戏等业务的存储源。在须要获取这些动态资源时,用户通过URL间接从OBS桶申请数据。OBS桶可能很好的解决本地存储不够用的难题,但个别状况下文件只存储在一个区域,不同区域的用户拜访OBS桶的响应速度存在差别。在须要频繁拜访的场景下,间接拜访OBS桶来获取相应文件,还会耗费大量的流量费用。 CDN减速OBS文件计划华为云CDN能够无效减速网站,为用户提供良好的体验,而OBS桶提供海量文件存储。将数据寄存在OBS桶中而后通过配置CDN减速,这样结构的业务零碎能够在降低成本的同时,进步终端用户应用感触。当终端用户发动拜访申请时,会首先通过CDN查找对此域名响应速度较快的CDN节点,并查问此节点是否有缓存终端用户申请的内容。如果CDN节点有缓存用户所需资源,间接将资源返回给用户;如果CDN节点无缓存,则回源申请资源返回给用户,同时将资源缓存到CDN节点。 计划劣势低成本 CDN减速OBS桶后,资源缓存在CDN节点,用户申请无需回源,而CDN减速的费用较低,二者配合应用能够节约50%到57%的带宽老本,详见通过CDN缩小OBS公网带宽费用。OBS桶提供CDN回源流量包折扣形式,使CDN从OBS桶获取数据时流量费用更低,计费详情请见CDN减速OBS计费规定。 阐明:CDN减速OBS桶不反对走内网。 高效率 华为云CDN具备减速资源丰盛、节点散布宽泛劣势,保障将用户申请精准调度至较优边缘节点,提供无效且稳固的减速成果。实用场景通过OBS桶提供文件下载业务的利用或服务。例如:通过HTTP/HTTPS提供文件下载业务的网站、工具下载、游戏客户端、APP商店等。通过OBS桶提供音视频点播业务的利用或服务。例如:在线教育类网站、在线视频分享网站、互联网电视点播平台、音乐视频点播APP等。通过OBS桶提供图片素材等的网站。例如:包含门户网站、电商平台、资讯APP、UGC利用(User Generated Content,用户原创内容)等束缚与限度只有版本号为3.0及以上的桶反对此计划。桶版本号能够在OBS管制台上,进入桶概览页面后,在“根本信息”中查看。目前反对中国大陆、中国香港、新加坡、曼谷的OBS桶,不反对其它区域的OBS桶应用“OBS桶域名”的模式接入,只能应用“源站域名”的模式接入,且不反对其余区域的公有桶接入CDN进行减速。KMS加密文件配置CDN默认无奈读取OBS桶中的加密文件,若您的OBS桶存在此类文件,建议您谨慎开启CDN减速,防止加密对象泄露。如果您因业务需要,须要减速OBS桶中的KMS加密文件,请留神: 如果您的OBS桶是私有桶,CDN将无奈读取桶中的KMS加密文件,从而导致回源失败,用户无法访问到加密文件。 解决方案:将私有桶中的加密文件转移到公有桶中,再接入CDN减速。 如果您的OBS桶是公有桶,须要为“CDNAccessPrivateOBS”委托配置“KMS Administrator”权限。如此,CDN能力读取OBS公有桶中的KMS加密文件并减速,配置过程详见OBS公有桶回源配置。

March 17, 2022 · 1 min · jiezi

关于cdn:jsDelivrGithub-自建免费CDN

为什么要用CDN?CDN的全称是Content Delivery Network,即内容散发网络。CDN是构建在网络之上的内容散发网络,依附部署在各地的边缘服务器,通过核心平台的负载平衡、内容散发、调度等功能模块,使用户就近获取所需内容,升高网络拥塞,进步用户拜访响应速度和命中率。CDN的关键技术次要有内容存储和散发技术。-- 百度百科艰深的来讲CDN次要有两个性能: 根底性能:能够提供动态文件内容次要性能:减速内容获取,进步访问速度jsDelivr 是什么A free, fast, and reliable Open Source CDN for npm, GitHub, Javascript, and ESM. -- from https://www.jsdelivr.com/简略来说就是它能够为凋谢资源(比方 npm/github release等)提供CDN服务。 网络散布:https://www.jsdelivr.com/netw...能够看到在中国也有好几台服务器,国内应用也能够齐全不必放心速度。 jsDelivr + Github 能够做什么?通过jsDelivr 能够加载 github 仓库里的文件内容。 通过jsDelivr援用资源 罕用:应用 release 包外面的内容指定版本:https://cdn.jsdelivr.net/gh/你的用户名/你的仓库名@公布的版本号/文件门路例如:https://cdn.jsdelivr.net/gh/s...就是加载 v0.1.3版本下的这个文件:https://github.com/specialCod... 形容内容用户名specialCoder仓库名cdnrelaese版本号0.1.3文件门路/public/jquery/jquery.min.js其余应用办法以 jquery 为例子:https://github.com/jquery/jquery // 应用版本范畴而不是特定版本https://cdn.jsdelivr.net/gh/jquery/jquery@3.2/dist/jquery.min.js https://cdn.jsdelivr.net/gh/jquery/jquery@3/dist/jquery.min.js // 齐全省略该版本以获取最新版本https://cdn.jsdelivr.net/gh/jquery/jquery/dist/jquery.min.js // 将“.min”增加到任何JS/CSS文件中以获取放大版本,如果不存在,将为会主动生成https://cdn.jsdelivr.net/gh/jquery/jquery@3.2.1/src/core.min.js 其余用法// 加载任何Github公布、提交或分支https://cdn.jsdelivr.net/gh/user/repo@version/file// 在开端增加 / 以获取资源目录列表(返回以html文件,页面中展现列表)https://cdn.jsdelivr.net/gh/jquery/jquery/github 局部通过下面咱们晓得了 jsDelivr 能够加载 github release 下的内容,接下来咱们须要: 创立 github cdn 仓库公布版本实现 push 的时候主动公布版本创立 github cdn 仓库拜访 https://github.com/ 创立,目前创立 public 仓库获取文件是没有问题的(private 仓库还没试过)。而后把仓库代码克隆到本地,往仓库里增加你须要的文件,而后提交到近程即可。 ...

February 8, 2022 · 2 min · jiezi

关于cdn:直播预告|千万级订单百万人观看无卡顿京东云CDN支撑直播丝般顺滑

在寰球疫情仍在继续的当下,越来越多的企业把业务逐渐转移到了线上,而直播也成为了寻求新增量的突破点。随着直播的利用从电商产业扩大、渗透到各行各业,直播平台突发性的流量增长成为常态。因为用户对于高质量的视频网络服务的需要一直晋升,作为缓解网络拥塞、进步业务响应速度的重要伎俩——CDN需要也随之急剧增长。 京东云CDN随同着京东业务应运而生并逐步成长,通过京东11.11、618、南博会、服贸会等内外场景的千锤百炼,积淀呈现有的技术和服务能力。京东云CDN不仅在电商业务场景深度服务客户,也满足用户在视频会议、游戏、教育等各个场景的业务需要,为不同方向的行业以及产品定制差异化的解决方案,可能更快、更平安、更牢靠地将海量内容投递给互联网终端用户。 本次直播,咱们邀请到京东云CDN产品经理和两位资深架构师,将聚焦对CDN技术的行业洞察,基于京东多年核心技术积攒,与您独特探讨CDN行业现状以及京东云CDN服务实际案例。大家还能够入群收费支付500GB的CDN资源包(限量50份)。 本次直播亮点如下:1、分析京东云CDN在11.11千亿级拜访下的最佳实际。2、电商直播中,直播技术如何做到零故障低延时?详解京东直播技术背地的技术撑持。3、超级展会中,服贸会、南博会如何将海量线上内容传递给用户? 长按海报扫码入群参加直播 更有直播专属福利 12月23日16:00,咱们云上见! -End-

December 22, 2021 · 1 min · jiezi

关于cdn:排障无忧关注边缘云钉钉服务窗第一时间获取阿里云技术人员在线支持

Q:阿里边缘云服务窗是什么?A:服务窗是钉钉团队出品的企业对外服务平台,为了更好实现以客户为核心,阿里云边缘云团队推出边缘云服务窗服务。Q:我是阿里云CDN多年老用户,碰见一些技术故障该怎么办?A:关注阿里边缘云服务窗,阿里云技术工程师实时在线提供故障排查技术支持,确保您的业务第一工夫失去无效解决。Q:我是阿里云新用户,能够征询对于边缘云产品技术常识吗?A:能够的。Q:目前都反对哪些产品技术支持?A:目前反对阿里云CDN\DCDN\直播等产品,其余产品陆续拓展中。Q:人工反对工夫是什么?A:国家法定工作日,上午9:00-12:00 下午14:00-18:00 。Q:怎么关注服务窗?A:钉钉扫码即可关注

October 28, 2021 · 1 min · jiezi

关于cdn:Vue中使用cdn加载资源加快打包速度

为什么应用CDNVue我的项目打包的时候,默认会把所有代码合并生产新文件,其中包含各种库导致打包进去很大。如果应用cdn的话,会更利于程序的加载速度。 在Vue我的项目中,引入到工程中的所有js、css文件,编译时都会被打包进vendor.js,浏览器在加载该文件之后能力开始显示首屏。若是引入的库泛滥,那么vendor.js文件体积将会相当的大,影响首开的体验。 解决办法将援用的内部js、css文件剥离开来,不编译到vendor.js中,而是用资源的模式援用,这样浏览器能够应用多个线程异步将vendor.js、内部的js等加载下来,达到减速首开的目标。 内部的库文件,能够应用CDN资源,或者别的服务器资源等。 应用CDN次要解决两个问题打包工夫太长、打包后代码体积太大,申请慢服务器网络不稳带宽不高,应用cdn能够回避服务器带宽问题具体步骤上面,以引入vue、vuex、vue-router为例,阐明解决流程。 资源引入在我的项目根目录index.html应用cdn节点导入 <body> <div id="app"></div> <!-- built files will be auto injected --> <!--开发环境--> <script src="https://cdn.bootcss.com/vue/2.6.11/vue.js"></script> <!--生产环境--> <!--<script src="https://cdn.bootcss.com/vue/2.6.11/vue.min.js"></script>--> <!-- 引入组件库 --> <script src="https://cdn.bootcss.com/vue-router/3.2.0/vue-router.min.js"></script> <script src="https://cdn.bootcss.com/axios/0.23.0/axios.min.js"></script> <script src="https://cdn.bootcss.com/element-ui/2.15.6/index.js"></script> <script src="https://cdn.bootcdn.net/ajax/libs/moment.js/2.29.1/moment.min.js"></script></body>在vue.config.js中退出externals内部扩大configureWebpack: { externals: { "vue": "Vue", "vue-router": "VueRouter", "axios": "axios", "moment": "moment", "element-ui": "ELEMENT", }},这里解释一下externals 配置选项的作用: 咱们想援用一个库,然而又不想让webpack打包,并且又不影响咱们在程序中以CMD、AMD或者window/global全局等形式进行应用,那就能够通过配置externals。踩坑配置留神点:element-ui要大写为ELEMENT 去掉原有的援用如果不删除原先的import,我的项目还是会从node_modules中引入资源。\也就是说不删的话,npm run build时候仍会将援用的资源一起打包,生成文件会大不少。所以我认为还是删了好 打包比照引入node_modules中模块:能够看到element和moment占比大 CDN引入模块:可能看到vendor.js文件大大减少,打包速度也快了不少 问题集vue-cli 4应用report剖析vendor.jsVue Cli(@/vue/cli)自带的webpack包体积优化工具,它能够查看各个模块的size大小,不便优化。只须要在build前面加上 --report 参数即可。咱们把命令配置到package.json里 "scripts": { "serve": "vue-cli-service serve", "build": "vue-cli-service build", "report": "vue-cli-service build --report" //退出该行},执行npm run report 打包并生成report。\留神:网上很多说要先装置webpack-bundle-analyzer包,其实不须要装置。 运行 npm run report 后,会在 build 的同时,在dist目录会生成一个report.html,关上后可看到各文件占用大小

October 22, 2021 · 1 min · jiezi

关于cdn:进阶知识体系之你不能不知道的CDN

CDN的基本概念CDN(Content Delivery Network)就是内容散发网络,是构建在现有网络根底之上的智能虚构网络。依附部署在各个中央的边缘服务器,通过分布式存储、负载平衡、网络申请的重定向和内容治理等功能模块,以就近性和服务器负载的判断,确保内容以一种极为高效的形式为用户申请提供所须要的资源。先看图: 没有CDN 有CDN CDN的作用/益处/优缺点1. 减速拜访进步用户体验 CDN能够使用户就近获取所需资源,升高网络梗塞,进步用户拜访响应速度和命中率 2. 无利搜寻排名和转化 网站关上速度是影响网站排名的一个重要指标,应用CDN网站关上速度变快有利于搜索引擎排名,缩小跳出率,从而有利于网站的转化率和销售量等 3. 加重源站服务器压力 解决了网站的并发量过大造成服务器过载问题,由此加重了源服务器的拜访压力,节俭了骨干网络带宽,能够接管更多流量,从而晋升了网站的性能、可扩展性以及安全性 4. 解决宕机问题 当某个CDN服务器发生意外挂了(过载,攻打等),不会影响全副,零碎会调用邻近的衰弱的CDN服务器节点持续服务,从而具备更高的稳定性 5. 保障网站平安 相当于为网站增加了一把防护伞,能有效应对绝大部分网络攻击(DDOS等),网站被攻打也只会打到CDN节点为上,不会影响源站服务器;在内容平安上也能够解决盗版网站通过盗链之类的办法窃取内容 6. 节约老本 应用VPS或购买服务器来托管网站都是有带宽限度的,而应用CDN不必思考购买服务器和后续的托管运维,服务器之间镜像同步,也不必为了治理保护技术人员而劳心劳力,升高了网站建设和保护老本,节俭了人力、精力和财力 毛病 因为CDN采纳各节点缓存的机制,如网站的动态网页和图片批改后,CDN缓存没有及时做相应更新,则看到的还是旧的网页。即便用户在浏览器应用Ctrl+F5的形式使浏览器端的缓存生效,也会因为CDN边缘节点没有同步最新数据而导致用户拜访看到的还是旧见网页。我个别都是本人登录服务器治理后盾去刷新CDN或者喊运维刷新 CDN的工作流程与拜访原理当给一个域名开明了CDN,要先给这个域名的DNS解析设置的后盾增加一条CDN专用的解析记录,这条解析记录会让域名被解析之后指向一个CDN网络专用的解决DNS申请的服务器。并在CDN后盾设置域名对应的原始web服务器(源站)的IP地址 输出URL回车后 会先通过本地DNS解析,DNS零碎会将域名的解析权给CDN解决DNS申请的服务器这台CDN服务器会返回CDN负载平衡服务器的IP地址浏览器拜访这台负载平衡服务器,该服务器会依据浏览器的网络地址在CDN网络中找一台在各种条件下都比拟适宜提供服务的CDN服务器,把IP地址返回给浏览器浏览器收到后去拜访这台CDN服务器,向它申请网站中的文件资源如果这台服务器上没有相干(没有缓存)的网站文件,就去CDN网络中的下层缓存服务器中拉取,如果下层还是没有就持续向上找,如果始终都找不到,最初就会去源站上拉取网站文件,就是 回源而后在每一层方才查不到的CDN服务器上做个缓存最初这台指定为你提供服务的CDN服务器再发送网站文件给浏览器,关上网站如果有其余设施也通过它来获取这个网站的资源文件,就能够在有缓存的CDN服务器上间接返回相应的文件数据了,并不需要每次都去源站上拉取,这就是CDN散发网络的根本工作机制 用户拜访首先是来自客户端或者浏览器,这里也会有一层缓存(强缓存)。大家晓得,浏览器的缓存都遵循规范的http协定,指定该header后,到了工夫就会生效。所以咱们能够在源站回源给CDN时,增加如Cache-Control:max-age=60协定头,CDN会一成不变的透给浏览器,这样浏览器就能够实现1分钟内缓存生效,从新到CDN拉新的资源。 CDN的利用场景CDN技术广泛应用于互联网的各个场景,如:图片小文件、大文件下载、游戏减速、视音频点播、直播流媒体、全站减速、平安减速等。只有纯内网软件开发部署场景不须要应用CDN(PS:也有内网须要用到CDN的场景的,比方电信IPTV,挪动OTT,广电数字电视这种大内容利用,服务属于广域网了。) 1. 网站站点/利用减速 站点或者利用中大量动态资源的减速散发,倡议将站点内容进行动静拆散,动静文件能够联合云服务器ECS,动态资源如各类型图片、HTML、CSS、JS文件等,倡议联合对象存储OSS存储海量动态资源,能够无效减速内容加载速度,轻松搞定网站图片、短视频等内容散发 2. 视音频点播/大文件下载散发减速 反对各类文件的下载、散发,反对在线点播减速业务,如MP4、flv视频文件,次要的业务场景是视音频点播、大文件下载(如安装包下载)等,倡议搭配对象存储OSS应用,可晋升回源速度,节约近2/3回源带宽老本 3. 视频直播减速 视频流媒体直播服务,反对媒资存储、切片转码、拜访鉴权、内容散发减速一体化解决方案。联合弹性伸缩服务,及时调整服务器带宽,应答突发拜访流量;联合媒体转码服务,享受高速稳固的并行转码,且工作规模无缝扩大 4. 挪动利用减速 挪动APP更新文件(apk文件)散发,挪动APP内图片、页面、短视频、UGC等内容的优化减速散发。提供httpDNS服务,防止DNS劫持并取得实时准确的DNS解析后果,无效缩短用户拜访工夫,晋升用户体验 哪些状况举荐应用CDN一般来说以资讯、内容等为主的网站,具备肯定拜访体量的网站资讯网站、政府机构网站、行业平台网站、商城等以动静内容为主的网站论坛、博客、交友、SNS、网络游戏、搜寻/查问、金融等。提供http下载的网站软件开发商、内容服务提供商、网络游戏运行商、源码下载等。有大量流媒体点播利用的网站领有视频点播平台的电信运营商、内容服务提供商、体育频道、宽频频道、在线教育、视频博客等哪些状况不实用CDN有针对性、特定性、服务多数用户的用户群给定天文区域,本地化的用户群用户数据敏感、数据管辖范畴限度的有监管和简单的治理要求的CDN减速是对网站所在服务器减速,还是对其域名减速CDN是只对网站的某一个具体的域名减速。如果同一个网站有多个域名,则访客拜访退出CDN的域名取得减速成果,拜访未退出CDN的域名,或者间接拜访IP地址,则无奈取得CDN成果 能不能让CDN不缓存某些即时性要求很高的网页和图片只须要应用动静页面,asp,php,jsp等动静技术做成的页面不被CDN缓存,无需每次都要刷新。或者采纳一个网站两个域名,一个启用CDN,另外一个域名不必CDN,对即时性要求高的页面和图片放在不必CDN的域名下 CDN和镜像站点比拟有何劣势CDN对网站的访客齐全通明,不须要访客手动抉择要拜访的镜像站点,保障了网站对访客的敌对性。CDN对每个节点都有可用性查看,不合格的节点会第一工夫剔出,从而保障了极高的可用率,而镜像站点无奈实现这一点。CDN部署简略,对原站根本不做任何改变即可失效 CDN和双线机房相比有何劣势常见的双线机房只能解决网通和电信相互拜访慢的问题,其它ISP(譬如教育网,移动网,铁通)互通的问题还是没失去解决。而CDN是访问者就近取数据,而CDN的节点遍布各ISP,从而保障了网站到任意ISP的访问速度。另外CDN因为其流量分流到各节点的原理,人造取得抵制网络攻击的能力 结语点赞反对、手留余香、与有荣焉 参考CDN是什么?应用CDN有什么劣势?- 知乎

September 29, 2021 · 1 min · jiezi

关于cdn:阿里云CDN操控20版本正式发布

2021年8月,阿里云边缘云CDN实现过来3年来最大的一次版本升级。本次降级依据上万企业客户的应用反馈和行业利用特色,从简略开明到个性化定制,从内容散发到边缘计算残缺解决方案,对客户侧的应用体验进行了全局梳理和全链路优化,推动边缘云CDN操控变革,并逐渐构建面向“5G+边缘”的开放平台。通过以下6项重点内容的介绍,让咱们一起开启全新的CDN操控之旅。 1、控制台概览页①咱们在概览页优先搁置:根底数据、域名创立入口、费用查问、告警设置等内容,心愿帮忙用户疾速找到外围性能并进行配置;②在热门服务中,减少了学习门路和自助服务诊断的工具,便于加深用户对边缘云CDN了解和应用,同时疏导客户能够间接通过自助工具定位问题,解决操作阻碍。图片 2、增加域名①根底信息:登录阿里云CDN控制台,点击左侧导航栏“域名治理”抉择“增加域名”,实现根底信息-域名信息的填写。请留神,增加的域名必须是归属您本人的域名,如果是首次增加该域名,则须要先实现域名归属权的验证,验证胜利后,该主域名下的2,3级域名就能够间接增加。目前为您提供DNS解析验证和文件验证两种形式,您能够任选其一实现域名归属权验证,避免出现域名抵触及安全隐患问题。图片 图片 ②业务信息:次要蕴含业务类型和减速区域的增加。您能够结合实际的业务须要,来抉择对应的业务类型,每次增加仅可抉择一种业务类型。业务类型包含:图片小文件、大文件下载、视音频点播、全站减速共4种类型。如果您心愿放慢网站以及小文件的拜访效率,倡议抉择图片小文件类型;如果您心愿进步手机应用程序、游戏安装包的下载速度,建议您抉择大文件下载类型;如果是用于进步影视类视频网站、短视频等内容的播放成果,建议您抉择视音频点播类型;如果是动动态内容联合减速的业务需要,倡议抉择全站减速业务类型,会疏导您到全站减速控制台进行配置。图片 抉择减速区域时须要留神,当减速区域含中国边疆时,减速域名必须实现备案,如果是刚实现备案的域名,请在8个小时后再配置,防止无奈增加胜利。图片 ③源站信息:点击“新增源站信息”,目前共有4种源站类型能够抉择,oss域名、IP、源站域名、函数计算域名,能够同时设置不同类型的源站,反对设置多个源站,多源站须要设置优先级,权重,端口等信息,用户能够依据理论的源站述求,灵便实现参数配置。图片 图片 3、举荐配置举荐配置性能是7月新推出的性能,该页面囊括了CDN最罕用的性能,例如缓存过期工夫、过滤参数、智能压缩、range回源、监控告警等,能够帮用户进一步提高边缘云CDN减速服务效率与品质!CDN的原理是缓存减速,设置缓存过期工夫后,会帮忙终端设备在拜访CDN时,能间接命中边缘节点的缓存内容,晋升访问速度,热门的拜访视频,图片等,倡议能够设置1月以上的缓存工夫;举荐大家应用云监控的告警性能,对CDN的流量和拜访品质进行监控,触发报警规定时,会将报警信息通过电话,短信等形式及时推送,尽可能减小业务稳定对使用性能的影响;此外您还能够通过页面优化、Range回源、智能压缩等配置晋升业务的减速性能和页面的可读性。图片 4、CNAME疏导实现举荐配置后,还有十分重要的一步:为CDN减速域名增加CNAME解析记录,胜利后才会真正开启减速服务。①关上CNAME配置向导,首先须要在对应的域名注册商增加一条CNAME记录,如果域名不在阿里云注册,请返回对应的域名注册商实现DNS配置。若在阿里云注册的域名,进入域名控制台,增加一条CNAME的解析记录。②实现批改域名解析信息的填写,依照CNAME疏导里的内容,将域名、记录类型、主机记录、记录值逐个对应复制到解析记录,保留即可。图片 ③以上信息实现后,您能够点击下方的“点击查问”按钮,查看CNAME是否失效。个别会立刻失效,但受LDNS的影响,大量域名会有5-10分钟的探测提早(理论曾经失效)。如果提醒失常,就代表真正应用CDN减速服务了,如果提醒异样,请确保一下填入的是正确的CNAME记录值,或者急躁期待几分钟再查问。实现以上操作步骤并失效后,就代表您真正启动阿里云CDN减速服务了。 5、域名治理减速域名胜利增加后,还能够通过域名治理,对CDN的更多功能进行配置,外围优化内容有以下4点:①域名列表减少了源站信息,导出时能够反对源站信息一并导出,按源站查问减速域名的性能也会在近期反对。②域名治理列表减少CDN问题诊断入口,不便使用者疾速查问并定位问题和解决。③域名治理列表减少报警设置入口,为外围业务域名配置告警规定,及时理解域名状态的变动。④域名列表里和域名配置页减少对CNAME配置状态的揭示,肯定要正确配置CNAME,能力正确启动CDN减速。图片 6、经营报表为不便用户更直观地查问并剖析数据,目前新增经营报表性能,能够统计TopURL,TopIP等信息,且反对定制经营报表,便于定期查问剖析数据。例如,如果您须要理解TopURL数据,能够自行定制外围域名的TopURL,依照TopURL的流量或者申请数进行排序,报表定制后,能够创立日周月的订阅工作,数据会主动的发送到指定的邮箱。图片 阿里云CDN在用户体验上的降级优化远远不止以上内容,咱们将会继续一直的收集用户反馈,提供更好的体验和更丰盛的产品能力,晋升CDN的产品能力和用户满意度。

August 24, 2021 · 1 min · jiezi

关于cdn:阿里云边缘云全新架构升级助力CDN操控新体验

随着边缘云技术日渐成熟、规范趋于对立,作为企业边缘云的外围根底利用之一 —— CDN因其具备低延时、高并发、低成本等特点,也越来越多的渗透到产业互联网的各个利用场景之中。 本次降级依据上万企业客户的应用反馈和行业利用特色,从简略开明到个性化定制,从内容散发到边缘计算残缺解决方案,对客户侧的应用体验进行了全局梳理和全链路优化,推动边缘云CDN操控变革,并逐渐构建面向“5G+边缘”的开放平台。 01 降级1:0门槛开明边缘云CDN服务 阿里云CDN控制台概览页作为用户拜访的第一入口,优先展现数据、域名、用量、资源包等信息,同时新增学习门路和自助诊断工具,帮忙老手用户疾速上手应用。针对域名增加场景 ,在2021年7月推出的新版域名治理性能中,新增域名配置向导性能,疏导用户能够轻松实现操作配置,避免出现因操作不当导致无奈运作的状况。 面对中高级用户,边缘云CDN在“减速效率”、“拜访性能”、“平安”等方面也有显著晋升,新增“举荐配置”性能,它囊括了CDN最罕用和定制化的性能,例如缓存过期工夫、过滤参数、智能压缩、range回源、监控告警等。合理配置能够帮忙进步缓存命中率,晋升访问速度,让减速体验更顺畅。 02 降级2:服务可视化和工具化 为帮忙使用者更直观地剖析减速老本与效率,本次降级新增“经营报表”性能,包含topURL,topIP的统计,都能够在经营报表中进行定制和数据查问。报表定制后,能够创立日周月的订阅工作,数据会主动的发送到指定邮箱,便于定期剖析并调整业务策略。与此同时,通过代码优化、API优化,实现了CDN控制台秒级响应成果,从原来的2.8秒 晋升 到了1秒左右,性能晋升100%,让整体的产品操作交互体验更平滑。 03 降级3:自助服务工具让效率晋升50% 当遇到域名抵触、域名无法访问、域名拜访速度慢等一系列问题后,用户能够通过域名状态诊断、性能配置查看、异样状态码诊断等工具定位问题并自助解决,从而进步问题的解决效率。当用户问题无奈用自助服务工具解决时,能够通过自助工具来唤起人工的工单解决流程,实现智能问答到人工客服的无缝切换,最快速度获取解决方案。 04 阿里云边缘云CDN,不止于减速 阿里云边缘云可编程CDN(EdgeScript)配置性能能够通过简略易学的语法和丰盛的函数库,可能像积木式地组合出个性化的CDN定制配置。它具备语法简略、开发灵便、迭代麻利等业务劣势,广泛应用于各类定制化业务流的开发。目前可编程CDN能够反对的业务场景包含定制化鉴权、缓存管制、限速管制、封禁拦挡等7类。 将来阿里云边缘云技术必然会持续朝着分布式、小型化、自治性、协同性、云原生等方向演进,阿里云将充分发挥本身在产品、技术、生态的全局劣势,通过提供灵便、凋谢、平安的边缘云计算底座,赋能合作伙伴开发多场景边缘利用,服务各垂直行业客户,一直打造开放性的产品能力,联合更多场景化计划,推动边缘云进一步行业倒退。

August 23, 2021 · 1 min · jiezi

关于cdn:我是如何让我网站的素材资源加载的如此之快的

如想获得最佳浏览体验,请拜访:https://blog.projectoms.com/p...*本文是自己第一次写技术文章,如有有余请斧正,谢谢! 让DNS很快家喻户晓,想让人胜利就要从娃娃抓起。所以想让一个素材零碎变得超快则要从DNS解析做起。 能够看到,我的DNS外表上看起来是自建的,实际上我采纳了一种自欺欺人的重路由的办法放慢了DNS速度。 (外面还有阿里云DNS记录的起因和影响咱们下文会说) 有人就要问了,马老师啊这个产生甚么事了阿里云VIP默认DNS提供的路由不香吗?干嘛还要费尽心思自路由呢? 这你就不晓得了,在我测试过后,发现阿里云个人版DNS之所以比贵4倍的企业版速度慢,是因为企业版DNS有地区解析,会依据国内外返回不同节点(阿里云尽管有Anycast的节点,但其余都不是),这样如果国内用户轮询到一个美国节点必定速度将大打折扣。 如图,国内查问会一股脑把所有地址丢进去,包含海内节点,所以速度令人担忧 而企业版在国内查问时返回的均为国内节点,所以速度外表上看起来比个人版快了一大截 能够看到,企业版在香港机器上返回的均为海内节点,所以看到这里你也晓得自路由的重要性了吧 上面我来说一下我是如何实现自路由的。 首先,咱们要失去所有节点IP,其实间接Dig就行,但我为了保险起见,还是寰球PING了一下,确认和Dig一次的节点数是统一的。 接下来,就是利用阿里云自带的分区解析性能,将IP分为默认和海内两组,当然IPv6只有国内所以默认就好。 这里要留神,阿里云有一个IP是Anycast的,且国内外都有节点,所以咱们把这个IP(140.205.1.1)既退出默认,又退出国外即可. 这里还有一个问题,咱们要用域名projectoms.com解析projectoms.com,为了防止递归,须要为NS服务器增加胶水记录(Glue Records),相干原理自行谷歌。 胶水记录需到域名注册商处增加,我的是阿里云。 阿里云管胶水记录叫自定义DNS Host,依照阐明增加IP即可,实现后咱们需期待24-48小时让这些信息缓存到.com DNS服务器中,实际上我等了约10小时就能够了。 接下来就是把DNS改成咱们本人的DNS了,功败垂成! 这里留神,尽管Dig查问到的NS记录仍有阿里云的,不过个别DNS解析器都以注册局列出的DNS服务器为准,所以咱们的自路由是无效的。 让建设连贯很快家喻户晓,建设HTTPS须要TCP握个手而后SSL再握个手,其中因为RSA长度问题SSL握手往往要花费数百毫秒,为了缩小用户白屏等待时间,ECC椭圆曲线算法被采纳了。 目前因为这个算法太新了,旧设施(XP)不反对,所以兼容性较差,然而我网站访问者个别都应用Win 10,Chrome. 简直没有用IE拜访的。所以我集体感觉ECC裸奔其实是没问题的(因为Android 4以下不反对,所以兼容性还是比拟差的),至多我的用户中没有XP用户,且CDN多不反对双证书。所以2021年4月起你能够看见我的网站(国内)仅有ECC证书。 目前RSA证书没到期先勉强用着,等4月咱们会换成ECC证书。 2021 年 3 月 21 日,正式启用全新 ECC 证书。 RSA ECC如图,握手工夫在Server和Client配置雷同时速度有显著晋升。 让CDN回源很快家喻户晓,因为中国的非凡网络环境,海内内容都十分的慢,而且因为咱们将素材资源存储在GitHub上,而GitHub仅在美国外乡有数据中心,所以让CDN回源很快十分重要。 (留神!本办法已临时生效,且短期不会复原!)最开始,咱们采纳的是Vercel。Vercel是一个无服务器函数平台,然而同时Vercel也提供基于AGA的弱小内容散发网络,Amazon的中国网络品质也不必我多说,大家也是能体验进去的。所以咱们采纳了Vercel作为源站。 Vercel管理层有中国人,所以实践上对大陆相对来说比拟敌对,然而近期因为晓得和白嫖Vercel的人越来越多,导致了AGA网络抽风。最近Vercel决定将大陆IP对立路由到美国的节点,导致速度直线降落,基本无法忍受(海内速度均失常),咱们便决定采纳新的办法解决大陆CDN回源。 当初咱们应用的解决方案是:一开始,咱们想利用在北京的一台阿里云VM将GitHub的内容存到本地,但因为阿里云到海内是电信的163民用网,速度也没有太大恶化,最终咱们采纳在香港的一台GCP从GitHub上下载内容,再利用同步技术从北京的阿里云机子被动拉取香港GCP上从GitHub下载的资源素材文件,同步速度能够承受。 因为CDN回源设置的机子在国内,所以当初回源速度间接腾飞。在我家的本地带宽曾经能够跑满北京阿里云服务器带宽了(捂脸笑...) 最初一公里:让CDN边缘节点很快国内这个...其实没有什么好说的,鹅厂的CDN边缘节点品质还是不错的。并且在和鹅厂工作人员一番 切 磋 之后,我有了IPV6节点的使用权(尽管当初所有人都有了呜呜呜)目前的惟一比拟遗憾的是我的减速类型不反对TLS 1.3,这个置信鹅厂很快就能解决。 海内Vercel把AGA调的十分好,这个其实也没有什么遗憾、毛病之类的,要非要找个毛病进去,那就是AGA不反对IPV6,这个Amazon预计会....解决吧。 最 终 成 果 PING 速度测试 本地带宽实测:未击中缓存 本地带宽实测:击中缓存如果你想用这个资源站,欢送与我分割:tom@projectoms.com!如果感觉我的文章有用,欢送点赞转发赞叹!您的反对就是我创作的能源,非常感谢!!!

August 10, 2021 · 1 min · jiezi

关于cdn:使用CDN内容分发网络加速

1.什么是CDNCDN是内容散发网络,CDN的实质是利用缓存技术,将数据疾速牢靠的从源站传递到用户。用户获取数据,不须要间接从源站获取,而是通过CDN对于数据的散发,用户能够 从一个较优的服务器获取数据,从而打到快速访问,并缩小源站负载压力的目标。2.为什么应用CDN减速如果网络上的数据都应用间接从源站交付到用户的办法,那么极有可能会呈现拜访拥塞的状况。CDN 是将数据缓存在离用户最近的中央,使用户以最快的速度获取,对于缩小网站的进口带宽压力,缩小网络传输的拥挤状况,将起到很大的作用。3.CDN的原理1)用户在通过浏览器拜访数据,未应用CDN减速网站的大抵过程如下: 如图,依据以上过程: 用户在浏览器中输出要拜访的域名。浏览器向DNS服务器申请对该域名的解析。DNS服务器返回该域名的IP地址给浏览器。浏览器应用该IP地址向服务器申请内容。服务器将用户申请的内容返回给浏览器。2)如果应用了CDN,则其过程会变成以下这样: 用户在浏览器中输出要拜访的域名。浏览器向DNS服务器申请对域名进行解析。DNS服务器会最终将域名的解析权交给 CDN专用DNS服务器 。CDN专用DNS服务器 将CDN负载平衡设施的IP地址返回给用户。用户向 CDN负载平衡设施 发动内容URL拜访申请。服务器将用户申请的内容返回给浏览器。抉择的根据包含:依据用户IP地址,判断哪一台服务器间隔用户最近;依据用户所申请的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查问各个服务器的负载状况,判断哪一台服务器的负载较小。基于以上这些根据的综合剖析之后,负载平衡设置会把缓存服务器的IP地址返回给用户。用户向缓存服务器发出请求。缓存服务器响应用户申请,将用户所需内容传送到用户。如果这台缓存服务器上并没有用户想要的内容,而负载平衡设施仍然将它调配给了用户,那么这台服务器就要向它的上一级缓存服务器申请内容,直至追溯到网站的源服务器将内容拉取到本地。4.总结CDN能够减速用户访问速度,缩小源站核心负载压力。

July 28, 2021 · 1 min · jiezi

关于cdn:基于边缘云的机器流量管理技术实战

简介:CDN是通过在寰球范畴内分布式地部署边缘服务器将各类互联网内容缓存到凑近用户的边缘服务器上,从而升高用户拜访时延并大幅缩小穿梭互联网核心网的流量。互联网业务应用CDN曾经成为一种必然的抉择。 企业边缘利用面临的挑战CDN是通过在寰球范畴内分布式地部署边缘服务器将各类互联网内容缓存到凑近用户的边缘服务器上,从而升高用户拜访时延并大幅缩小穿梭互联网核心网的流量。互联网业务应用CDN曾经成为一种必然的抉择。传统网站防护基本上都是爱护源站,客户购买防火墙、WAF等产品就能够爱护本人外围业务的内容不被歹意窃取。但传统防护形式并不能齐全满足业务流量通过CDN散发的场景: 部署地位在源站前,次要为了爱护源站。在CDN架构中,页面根本都缓存在CDN上,爬虫能够间接从CDN上间接爬走用户敏感业务数据。辨认伎俩次要依附在用户页面中嵌入JS,这种形式实质上批改了用户的页面,有很强的侵入性,并且只能适配web业务,针对api业务不失效。处理伎俩个别通过频次管制,对高频的IP等特色进行限度,这种形式容易被绕过,当初爬虫根本都会采纳IP代理池的形式,随机批改申请的header字端,这样很难找到特色进行频次管制。CDN以后承接了主站大量业务,也必然要保障业务浏览和交易体验,避免内容不被歹意窃取。越来越多的业务数据缓存在CDN的边缘服务器上,边缘平安的权重越来越高。而基于边缘云的机器流量治理应运而生,应答CDN边缘安全隐患,实现用户利用数据安全爱护。 边缘云的机器流量治理的实现及劣势基于CDN边缘节点的机器流量治理剖析及解决流程如下图所示: 互联网拜访个别分为用户失常,商业搜索引擎拜访,歹意爬虫拜访等,机器流量治理通过在边缘提取申请报文特色,基于报文特色辨认申请类型,在边缘阻断歹意爬虫拜访,爱护CDN上缓存资源不被歹意爬取。 机器流量治理的劣势如下: 基于CDN边缘网络架构实现机器流量治理能力,通过申请报文特色辨认域名的申请类型,辨别是失常的申请还是歹意的机器申请,帮忙用户治理本人的申请,阻断歹意申请。通过辨认域名的申请类型,实时标记出申请的报文类型,十分直观的展现出以后的业务申请中的报文类型,客户能够直观的感知到本人的网站的拜访类型散布状况,针对异样的报文类型进行处理。通过处理报文类型而不是处理IP,只有歹意申请的报文类型不变,攻击者随机头部字段或者应用秒拨代理IP池都无奈绕过。机器流量治理理论后果验证在双11业务场景,机器流量治理针对拜访主站详情页的全副流量做辨认,并对 Bot 流量进行细化分类。外围策略是放行搜索引擎等正规商业爬虫,限度或拦挡歹意爬虫。 通过剖析详情页的流量以及申请的行为特色,剖析出近40%的申请都是歹意拜访。在双11前,通过开启了处理策略,胜利帮忙主站某业务拦挡了超过70%的爬虫流量。下图为开启处理前后的流量比照状况,蓝线为未开启处理策略是的流量趋势,绿线为开启处理策略后的流量趋势,拦挡成果非常明显,并且不影响理论业务运行。 双11当日,基本上申请的拜访特色没有变动,最终拦挡数亿次歹意申请、上百万歹意IP及数千万歹意爬取商品ID。 CDN机器流量治理承当更多主站业务的防护,并且发现局部爬取主站内容的申请能够透过防护策略,即爬取的申请行为产生了变动。通过对线上突增qps剖析,定位出变异爬虫次要应用的是IE的浏览器引擎,源IP大量应用秒拨代理IP,具备显著的商业爬虫特色。经上报,疾速造成了应急预案,疾速对异样类型进行处理。 原文链接 本文为阿里云原创内容,未经容许不得转载。

July 14, 2021 · 1 min · jiezi

关于cdn:CDN-资源刷新

CDN次要用于减速动态资源,动静资源会回源站实时获取不进行缓存。能够依据文件类型和更新频率设置资源的缓存过期工夫,最长能够设置3年。 CDN提供资源的刷新和预热性能。通过刷新性能,您能够强制CDN节点回源并获取最新文件;通过预热性能您能够在业务顶峰前预热热门资源,进步资源拜访效率。 刷新性能是指提交URL刷新或目录刷新申请后,CDN节点的缓存内容将会被强制过期,当您向CDN节点申请资源时,CDN会间接回源站获取对应的资源返回给您,并将其缓存。刷新性能会升高缓存命中率。 调用接口刷新节点上的文件内容。被刷新的文件缓存将立刻生效,新的申请将回源获取最新的文件,反对URL批量刷新。 命令行刷新脚本<?phpinclude __DIR__ . '/vendor/autoload.php';use AlibabaCloud\Client\AlibabaCloud;use AlibabaCloud\Client\Exception\ClientException;use AlibabaCloud\Client\Exception\ServerException;// Download:https://github.com/aliyun/openapi-sdk-php// Usage:https://github.com/aliyun/openapi-sdk-phpif (count($argv) != 2) { echo "参数谬误"; exit;}$accessKeyId = '<accessKeyId>';$accessSecret = '<accessSecret>';$project = $argv[1];$path = "https://www.yourdomain.com/{$project}/";AlibabaCloud::accessKeyClient($accessKeyId, $accessSecret) ->regionId('cn-qingdao') ->asDefaultClient();try { $result = AlibabaCloud::cdn() ->v20180510() ->refreshObjectCaches() ->withObjectType("Directory") ->withObjectPath($path) ->withSecurityToken($accessKeyId) ->debug(true) // Enable the debug will output detailed information ->request(); print_r($result->toArray());} catch (ClientException $e) { print_r($e->getErrorMessage());} catch (ServerException $e) { echo $exception->getMessage() . PHP_EOL; echo $exception->getErrorCode() . PHP_EOL; echo $exception->getRequestId() . PHP_EOL; echo $exception->getErrorMessage() . PHP_EOL;}参考: ...

April 25, 2021 · 1 min · jiezi

关于cdn:CDN加速的名词概念

减速域名减速域名即须要应用CDN减速的域名。域名必须备案。 CNAME记录CNAME(Canonical Name)即别名,用来把一个域名解析到另一个域名,再由另一个域名提供IP地址。例如: 有一台服务器上寄存了很多材料,应用docs.example.com拜访该资源,但又心愿通过documents.example.com也能拜访。那么能够在DNS解析服务商增加一条CNAME记录,将documents.example.com指向docs.example.com。增加该条CNAME记录后,所有拜访documents.example.com的申请都会被转到docs.example.com,取得雷同的内容。CNAME域名接入CDN并在控制台增加减速域名后,CDN将会调配一个CNAME域名。该CNAME域名的模式为*.*kunlun*.com。须要在DNS解析服务商增加一条CNAME记录,将本人的减速域名指向*.*kunlun*.com域名。记录失效后,该域名所有的申请都将转向CDN节点,达到减速成果。 DNSDNS(Domain Name System),即域名解析服务,把域名转换成为IP地址。域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析须要由专门的域名解析服务器来实现,整个过程主动进行。 SSL/TLSSSL(Secure Sockets Layer,平安通信协定),是一个架构于TCP之上的安全套接层。它能够无效帮助Internet应用软件晋升通信时的材料完整性以及安全性。标准化之后的SSL名称改为TLS(Transport Layer Security,传输层平安协定),因而很多相干的文档将二者并称(SSL/TLS)。 边缘节点边缘节点指与最终接入的用户之间具备较少中间环节的网络节点,对最终接入用户有更好的响应能力和连贯速度。其作用是将访问量较大的内容缓存到边缘节点的服务器上,以此来进步网络终端用户拜访网站内容的速度和品质。 源站理论业务所在的服务器。 回源CDN节点未缓存申请的资源或缓存的资源已到期时,回到源站获取资源,返回给客户端。 回源HOST源站决定了回源时,申请到哪个IP。回源HOST决定回源申请拜访到该IP上的哪个站点。 例1:源站是域名。 源站为www.a.com,回源HOST为www.b.com,那么理论回源是申请到www.a.com解析到的IP,即对应的主机上的站点www.b.com。 例2:源站是IP。 源站为1.1.1.1,回源HOST为www.b.com,那么理论回源的是1.1.1.1对应的主机上的站点www.b.com。 协定回源指回源时应用的协定和客户端拜访资源时的协定保持一致。 过滤参数借助过滤参数开关,能够依据理论业务须要,决定在缓存时是否过滤用户申请URL中的? 参数。 如果开启过滤参数,则CDN节点会截取没有参数的URL向源站申请,且CDN节点仅保留一份正本。如果敞开过滤参数,则每个不同的URL会缓存不同的正本在CDN的节点上。若资源URL中不同参数代表雷同的内容,倡议开启过滤参数,无效晋升缓存命中率。

March 31, 2021 · 1 min · jiezi

关于hexo:Hexo静态网站托管到腾讯云COSCDN加速以及缓存自动刷新完美方案

自建博客地址:https://www.bytelife.net,欢送拜访! 本文为博客同步发表文章,为了更好的浏览体验,建议您移步至我的博客 本文作者: Jeffrey本文链接: https://www.bytelife.net/articles/47472.html版权申明: 本博客所有文章除特地申明外,均采纳 BY-NC-SA 许可协定。转载请注明出处!近期把博客折腾到腾讯云了,比照了腾讯云和阿里云后,发现腾讯云近期CDN做了很多降级,对于CDN缓存节点的配置更加粗疏,另外毕竟腾讯云价格更低嘛,对集体站长更敌对一些。这篇文章次要讲讲如何应用腾讯云的COS+CDN部署动态网站,以及应用腾讯云函数服务完满解决(对官网提供的刷新函数做了些优化)CDN节点的缓存主动刷新问题。 <!--more--> 我的部署计划运行环境:站点解析采纳境内和境外离开解析的计划,境内解析到腾讯云的CDN节点,境外解析到Vercel的CDN节点,尽管站点的次要拜访因为就是国内用户,但毕竟谷歌、必应等等搜索引擎都是国外的,而国内CDN对于境外的减速又比拟贵,所以就离开解析啦。 境内:腾讯云COS对象存储+腾讯云CDN减速境外:Vercel动态网站托管自动化部署:因为站点的源码托管在GitHub下面,所以应用GitHub Actions进行自动化部署,写完文章间接push下来就能够主动部署到多个平台,几乎不要太不便。GitHub Actions主动部署到腾讯云COS腾讯云提供了十分好用的cli工具,执行一些简略的命令就能够疾速上传文件到COS对象存储。在Git工程的根目录下创立.github/workflows/xxx.yml文件,就能够创立一个Actions配置。应用上面的配置能够将Hexo部署到腾讯云COS对象存储: # workflowname: Blogon: push: branches: - masterjobs: deploy: name: Deploy Blog runs-on: ubuntu-latest env: TZ: Asia/Shanghai steps: # check it to your workflow can access it # from: https://github.com/actions/checkout - name: Checkout Repository master branch uses: actions/checkout@v2 with: ref: 'master' submodules: true # from: https://github.com/actions/setup-node - name: Setup Node.js uses: actions/setup-node@master with: node-version: "14.x" - name: Yarn Install Cache uses: c-hive/gha-yarn-cache@v1 - name: Install Dependencies run: yarn install ## generate files - name: Generate Hexo Site Public Files & Create Files for Blog Assets run: yarn build ## deploy to tencent cos - name: Deploy to Tencent COS env: SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }} SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }} BUCKET: ${{ secrets.TENCENT_COS_BUCKET }} REGION: ap-shanghai run: | sudo pip install coscmd coscmd config -a ${SECRET_ID} -s ${SECRET_KEY} -b ${BUCKET} -r ${REGION} coscmd upload -rs --delete ./public/ / -f其中: ...

March 24, 2021 · 2 min · jiezi

关于cdn:CDN工作机制

先简略理解一下电商和物流公司的仓储配送机制是怎么的,在电商刚开始倒退的时候,买一件物品,商家发货只能从其所在点的工厂进行发货,因而一件商品送达个别3-10天不等。最初全国各地开始建设仓储核心,卖家的商品被搁置在了各个仓储核心,因而发货点变成了离买家最近的仓储核心,一件商品的送达个别1-3天。而最近两年,前置仓开始衰亡,什么是前置仓呢,即仓储核心建设在小区左近,使得一件商品的送达能在一天只能甚至于半个小时就能实现。 1.什么是CDNcontent delivery network内容散发网络。随着互联网用户的减少,大量中小型网站的呈现,呈现了两个致命的问题 服务器不论是哪台服务器,包含云服务器,都会放在某一个具体的地位处,当全国各地拜访以后服务器的时候,离以后服务器越远必然会呈现拜访速度慢的问题服务器稳定性问题,当服务器呈现某些问题的时候,可能呈现宕机的状况产生,而状况的产生势必会导致网站在一段时间不能拜访的状况而CDN的呈现在肯定水平上解决了以上两个问题 2.CDN工作机制CDN工作机制相似于之前所提到的电商和物流公司的仓储配送机制,以后浏览器要获取的内容通过最近的服务器失去,使得访问速度进一步提高。次要实现原理如下: 当浏览器输出域名的时候通过DNS服务器进行解析,通过返回的ip地址,去对应的服务器获取网页内容。而CDN就次要在DNS解析的过程中起作用的。 当给一个域名开明了CDN,要先给域名的DNS解析设置的后盾增加一条CDN专用的解析记录(也即在name DNS Server处增加CDN专用解析记录),指向一个CDN网络专用的解决DNS申请的服务器,这个服务器会给浏览器返回一个专门用来给各个申请设施调配适合的CDN服务器的IP地址,而这个服务器叫做负载平衡零碎服务器 浏览器拜访负载平衡零碎服务器时,其会依据浏览器的以后所处的网络地址在CDN网络中找一台在各种条件下都适宜的服务器并返回其IP地址,比方:拜访工作不多,间隔适合的服务器。浏览器依据返回的ip地址拜访CDN服务器并获取对应的网页内容。然而个别网络申请的服务器都是源服务器,那CDN服务器怎么会领有源服务器的内容呢? 在为某个域名开明CDN的时候,会一开始会通过CDN后盾进行设置,通知CDN网络该域名的原始服务器。当CDN服务器收到浏览器申请之后,发现并没有网站所需资源(缓存中没有),则会CDN网络中的下层缓存服务器中去拉取,如果上一层还没有则持续下级查找,如果到顶层依然找不到,就会去源服务器拉取网页资源,拉取胜利之后,会在每一层通过的CDN服务器上都做一个缓存,最初该CDN服务器将网页资源返回给浏览器。 除了进步了访问速度以外,CDN还能够解决因为宕机造成的服务器瘫痪的问题,当一个服务器坏掉的时候,因为CDN 缓存机制,依然能够从其余服务器获取资源,不会因为一台服务器的坏掉障碍网站拜访。

March 13, 2021 · 1 min · jiezi

关于cdn:产品更新-阿里云CDN边缘图像处理功能开放内测

在当下的网络环境中,企业在进行图片内容散发时,须要更快捷、高效地进行图片转换,以此适配各终端屏幕的分辨率、图片格式以及用户所处的网络环境,来晋升展现成果。与此同时,海量的高质量图片往往会耗费较多的带宽,企业也须要在老本和品质两头找到最佳平衡点。 为了更好地服务企业客户,阿里云CDN「边缘图片解决」性能联合不同的客户端、网络环境、图片规格,在边缘节点为客户交付最优的图像治理能力,帮忙客户升高图片的衍生治理难度,晋升终端用户的图片拜访成果和效率,提供最佳的互联网拜访体验。 本文将为你揭示「边缘图像处理」的价值、利用及如何申请。 这样的你 须要边缘图像处理你是否面临以下痛点: 用户多终端,对立图片对要求多个尺寸满足不同终端拜访需要;网络环境差别大,失常网络下能够失常关上的图片,在弱网环境下耗时长或无法访问;不同浏览器或系统对图片格式反对的友好度不统一,对图片格式的要求灵便;同一张图片会产生多个衍生图,人工解决图片时效慢,治理老本高,产生的衍生图存储和计算成本也高。你是否有以下诉求: 晋升图片加载的效率,晋升终端客户拜访的效率,升高大量衍生图片的运维治理老本;对图片缩放、图片剪裁、自适应网络环境和终端、旋转、格局转换、水印有高频需要。与目前市场上解决方案的比照: CDN携带转换参数在源站进行转换,转换后图片返回到CDN再分发给用户。这种做法会比拟耗费源站的计算资源,在图片解决并发顶峰期间,会抢占源站的计算能力,甚至呈现过载的状况;提前转好指标图片并存在源站,对应不同的申请url。这种做法比拟节约源站存储,并且访问率低的指标图片也须要提前转好。边缘图像处理  改良体验即刻启动阿里云CDN服务寰球数十万客户,客户源站品种多样化且局部源站不具备图片转换能力。「边缘图像处理」是在CDN节点上进行图片的优化治理,其反对的图片相干操作有:缩放、裁剪、品质转换、格局转换、旋转、锐化、亮度、对比度、水印等,可能为电商、游览、音乐、金融、媒体和游戏等行业,提供疾速、便捷、高质量的互联网图片减速体验,升高开发与存储老本。 边缘图像处理的性能劣势: 更快的散发体验原图在回源节点被缓存后,边缘触发的多尺寸图片拜访需要,间接在回源节点进行图片的解决和散发,缩小回源链路,能够更快达到边缘,缩小整体申请工夫,晋升响应效率。 更快的页面加载图片在CDN进行解决并返回客户端进行拜访时,能够在不影响客户观看的体验前提下,进行图片的缩放压缩等操作,放大图片大小从而使页面关上的速度更快,体验更好。 升高源站压力与老本衍生图大量耗费源站的存储和计算能力,减少了源站的开发和保护老本。通过CDN进行图片解决,所有的图片解决和缓存都通过CDN节点实现,源站无感知,从而达到为源站节俭存储空间,升高转换计算成本的目标。 晋升刷新预热效率原图刷新并生效后,原图对应的衍生图也会全副生效且无法访问,无需再对衍生图进行刷新,升高提交刷新预热的次数,同时节俭回源所产生的带宽。 边缘需要定制通过图片解决参数对图片解决进行管制,能够依据不同的浏览器和客户端版本定制不同的图片解决需要,满足不同客户不同场景下的业务需要。 边缘图像处理的办法: 阿里云CDN反对边缘图片解决,解决的类型以参数模式传入,申请参数为image_process。同时反对多个转换参数,例如crop、rotate等,多个转换参数以正斜线(/)分隔。 解决办法:image_process=action1,param_value1/action2,param_value2。 操作示例:image_process=resize,l_200/quality,q_90/format,webp。 边缘图像处理 内测凋谢目前边缘图像处理性能处于内测阶段,您需提交工单申请开明。 关注阿里云Edge Plus微信公众号,回复「图像处理」,获取内测入口。

March 3, 2021 · 1 min · jiezi

关于cdn:理解记忆-CDN

CDN 是什么? CDN——Content Delivery Network,内容散发网络,具体来说,CDN就是采纳更多的缓存服务器(CDN边缘节点),布放在用户拜访绝对集中的地区或网络中。当用户拜访网站时,利用全局负载技术,将用户的拜访指向间隔最近的缓存服务器上,由缓存服务器响应用户申请。(有点像电商的本地仓吧?) 为什么要应用 CDN ? 一、减速了内容的拜访——用户与内容之间的物理间隔缩短,用户的等待时间也得以缩短二、从 webpack 抽离一些微小的且版本更新不频繁的库,如 Vue Elementui,以缩小 build 时的打包体积, 改为在 index.html 中应用 <script> 援用三、有些大型网站,拜访用户太多,而服务器有并发限度,不得不散发一些流量到其余的服务器,另外有看到,能够把整个网站都做cdn减速,也就是把html也做cdn缓存,弊病太大,不太了解为什么要这么做 哪些文件能够应用 CDN ? 个别的动态文件,.js .css,视频,apk 图片,我司用oss存储,不晓得oss算不算 cdn 有些网站,html 也应用 cdn 怎么应用 CDN ? 如果是减速一般的 .js .css文件,那么间接找个cdn服务商就行了,例如 jsDelivr,bootcdn,对于减速网站,也就是给html做cdn,那么就须要去购买www.showapi.com域名的中央,去他们的后盾管理系统里批改cname,以便达到用户拜访 www.showapi.com,会转发到www.xxxcdn.com, 为什么是购买域名的中央? 筹备:实际上,咱们的网址应该为test.baidu.com . ,留神看前面有个 点 ,只不过浏览器为了不便用户都给省略了。比方解析test.baidu.com. ,是具体怎么解析成IP地址的呢?能够形容为,从右向左 . -> .com -> baidu.com. -> test.baidu.com 浏览器解析dns是逐层的,其次: 查看浏览器缓存,(chrome://net-internals/#dns)查看操作系统dns缓存 windows零碎中,命令行 ipconfig/displaydns 查看,linux上的NSCD缓存服务;从计算机hosts文件中查找查看路由器缓存如果前几步都没没找到,会向ISP(网络服务提供商)的LDNS服务器查问,ISP也就是域名提供商,咱们在这里设置cname映射即可,如果LDNS服务器没找到,会向根域名服务器(Root Server)申请解,流程分为以下几步:先找根域名服务商所在的ip,即最初面那个. 根服务器返回顶级域名(TLD)服务器如.com,.cn,.org等的地址,寰球只有13台,该例子中会返回.com的地址接着向TLD发送申请,而后会返回次级域名(SLD)服务器的地址,接着向SLD域名服务器通过域名查问指标IP,Local DNS Server会缓存后果,并返回给用户,缓存在零碎中。 那么,设置了cdn当前的流程,就是把www.showapi.com重定向到www.xxxcdn.com,持续走一遍下面的流程,最初会走到xxx.cdn的dns服务商上,并且返回一个通过负载平衡零碎计算过的存有资源的ip地址给浏览器,浏览器会把这个ip放到浏览器dns缓存,下次间接应用 对于什么是cname,这是dns外面的一个知识点,文末有扩大浏览的链接,这里简略解释一下,就是说,咱们拜访一个域名时,实际上是拜访一个ip地址的,那么域名和ip是不是一对一呢?不是的,是一对多,一个域名能够对应多个ip,一个域名与一个ip这样的映射关系,成为A记录,会有多个A记录,cname优先级比a记录更高,所以能够做到重定向,ns记录是下一级别的dns服务器的信息,比方.com的dns服务器会返回show.com的dns服务商地址,这些地址就存在ns里

February 7, 2021 · 1 min · jiezi

关于cdn:阿里云发布CDN产品最佳实践图-全面解析行业应用

2月2日,阿里云公布CDN产品最佳实际图。该图是站在客户视角,基于阿里云CDN多年服务阿里巴巴生态以及数十万家云上企业客户的需要分析与实战经验,将客户应用CDN的实际门路合成为便捷式扩大、一站式散发和多样化治理三个阶段,旨在帮忙客户找到和部署最适宜本人的CDN实际之路。 在本次公布的CDN产品最佳实际图之中,阿里云为不同阶段的客户立体化地介绍了CDN的典型应用场景和外围产品技术能力。其中,面向初创企业与集体开发者,阿里云CDN聚焦于大文件散发、动动态混合减速、非标准协议传输、可编程计算、全链路IPv6等场景,协同云产品(ECS、SLB、OSS、SLS等服务)进行云边端能力买通,帮忙客户实现便捷式扩大。面向行业客户,阿里云CDN通过丰盛的行业利用实践经验,积淀了面向利用商店下载、政企网站可信减速、电商流动抢购、在线教育课堂、金融平安、社交互动、游戏减速、多媒体视频等不同行业场景下的CDN散发解决方案。基于流量计算智能调度、分布式缓存架构、智能链路零碎和数据智能业务撑持四大外围零碎,在内容防篡改与平安治理、千万级高并发低延时直播技术、欠缺的实时性能监控与数据科学决策、边缘平安+云的平面防护等能力加持下,帮忙客户解决高并发压力、用户拜访体验不佳与内容传输平安危险等问题。 在互联网视频继续暴发的背景之下,通常互联网企业一年会面临数次的“尖峰时刻”,比方春晚。面向此类客户需要,阿里云CDN联合阿里巴巴团体生态,积淀出一套面向双 11 抢购、春晚红包、强互动直播、大型直播场景的丰盛客户实际案例,帮忙客户从容应对简单利用场景流量洪峰。阿里云CDN不仅在技术和产品模式上进行翻新,同时匹配具体客户利用场景,依靠边缘Serverless可编程计算、寰球实时传输网络(GRTN)、精准高效的智能数据科学决策体系等,一直迭代产品服务,为海量用户拜访之下,企业的零碎安稳运行、晦涩拜访体验提供弱小助力。 阿里云CDN产品经理王斌斌示意:“咱们在互联网络边缘构建了一张实时可计算的新型CDN散发网来承载客户业务,阿里云CDN产品 90% 的翻新源于客户需要,CDN产品最佳实际是站在客户视角,服务寰球数十万云上企业客户、以及服务阿里巴巴经济体大规模简单利用场景的实战经验积淀。” 深耕服务 为寰球数十万企业客户提供值得信赖的CDN服务阿里云CDN起源于淘宝CDN,自2009年开始便随同双11逐渐成长,为流量微小的电商网站提供减速反对,在寰球建设了上百个优质节点和带宽资源,起初在电商畛域失去了很多的利用和实际。 2011年,CDN作为互联网流量散发基础设施,逐渐从服务淘宝电商,扩大到全面服务阿里团体生态,在利用场景上内涵。2014年,阿里云CDN正式发表对外商业化,将服务能力凋谢给寰球企业及创业者应用。2015年,阿里云CDN与电商携手迈进全站HTTPS时代,并一直进行自研调度零碎的迭代降级以应答指数增长的流量冲击。 随同着每年双十一以及挪动互联网、视频的遍及,CDN的流量出现指数级增长。2017年,阿里云CDN开启全球化策略,并陆续公布SDCN、DCDN等产品,产品矩阵全面降级。2018年初,由Gartner公布的寰球CDN服务市场指南《Market Guide for CDN Services》中,阿里云凭借寰球服务能力和产品技术劣势定为Global(寰球级)服务商。 近几年,阿里云CDN围绕“智能化”和“可计算”一直进行产品技术深耕,在边缘Serverless、多维Workload负载平衡、科学决策、各类边缘利用场景服务上继续打磨。与此同时,阿里云CDN凭借更高效率的产品服务与优质的服务体验博得客户信赖,在CDN畛域体量不断扩大,倒退迅猛,CDN的峰值流量规模屡翻新高。截止目前,阿里云CDN在寰球有2800+边缘节点,130T带宽储备,服务寰球数十万企业客户,为超百万域名提供减速服务。阿里云CDN打造的一张连贯寰球终端用户的边缘生态网络,在晚顶峰期间每秒解决上亿QPS的用户连贯申请,每天将客户数十亿次配置管理指令下发到全网所有节点。 千锤百炼 面向行业打造全面、业余的CDN产品最佳实际依靠数十万云上企业客户和阿里巴巴丰盛的生态利用,以及寰球笼罩的基础设施网络,阿里云CDN在娱乐、电商、游戏、体育、金融、政企等泛滥行业领有丰盛的产品实际。 2018年俄罗斯世界杯,阿里云CDN承载全网70%的流量,撑持了优酷单场 2400万人次在线观看。2019年双11,阿里云CDN为5144万的观众带来了4K、低于2%卡顿率的极致观看体验,同时力扛了数千万QPS流量洪峰下的电商交互体验。2020年上半年,疫情当下,互联网流量爆发式增长,阿里云CDN为钉钉视频会议、国家中小学网络云平台、VIPKID等在线办公与教学业务保驾护航,完满反对了低卡顿、秒开晦涩以及实时互动的在观看体验,全程护航数亿人的“复课不停学、复工不开业”,开启了在线实时视频互动时代。 在后疫情时代数字化转型减速的背景之下,为了帮忙金融、传媒、政企等行业客户抵挡网络攻击危险,确保在线业务的高可用性与平安合规,阿里云CDN联合在政务云、金融云上的丰盛实践经验,量身定制“政企平安减速解决方案”。央视网等广电传媒企业借助阿里云CDN多种传输链路加密模式,确保全链路内容防劫持防篡改,基于内容平安与加密技术晋升版权视频节目在传输和播放链路中的安全系数。 除此之外,阿里云CDN凭借性能卓越的产品服务、视频核心技术劣势与多年积淀的丰盛教训,胜利保障了跨年晚会、春晚直播、亚运会、英雄联盟寰球总决赛、CBA职业联赛、2020年世界人工智能大会、历年双11猫晚等多项重大事件的互联网直播。 多年的的技术奠定了阿里云CDN在一次次“考验”之下成为中流砥柱。当下,在5G、IoT技术以及数字化转型的背景之下,CDN将从内容散发将演变为价值传递,成为企业晋升效率、优化经营、智能利用的弱小驱动力。此次CDN产品最佳实际大图的重磅公布,将成为千百万企业传递内容与价值的最佳辅助,推动更多新兴行业场景的翻新倒退。 在线开讲 助你疾速找到最适宜的CDN利用之路为了帮忙客户更全面理解CDN产品最佳实际,更便捷、省心地应用CDN,阿里云CDN产品经理和产品架构师将围绕CDN行业最佳实际进行全面解析,为您2021开年的企业数字化降级之路减速!欢送关注“阿里云Edge Plus”官网公众号,回复“CDN实际图”,获取直播报名链接。

February 2, 2021 · 1 min · jiezi

关于cdn:云话题-第3期-你女朋友在买买买时程序员小哥在干嘛

年货节来了,你女朋友下单了吗? 观看直播曾经成为人们日常上网的习惯之一,直播购物作为其中的重要我的项目,销售额屡翻新高。最近,天猫年货节刚刚揭幕,淘宝直播中就涌入了不少的用户前来抢购,毕竟足不出户就能够买到全国甚至寰球的年货,对热衷买买买的消费者们来说切实太不便了。 那么,直播抢购背地到底蕴藏着哪些技术?平台在开发网络直播零碎时为什么如此看重CDN?在高并发直播的当下,CDN的技术人员都须要关注什么?阿里云Edge Plus的第3期云话题,边缘酱将为你讲讲对于直播抢购与CDN的那些事。 你关怀的,就是云话题接下来进入正题 云话题 | 第3期 对于直播抢购与CDN的那些事特邀专家:卢日 阿里云高级技术专家,GRTN网络总设计和布道师,目前负责阿里云视频直播产品和流媒体实时减速平台研发。 一、互联网直播最要害的技术指标是什么?想必大家都晓得,“直播”曾经是十分广泛的一种娱乐模式了,直播的及时性和互动性成为信息触达、互动沟通的新媒介。随着5G、超高清、VR等技术的倒退,主播与观众的互动须要更加实时,“延时”这个指标愈发的重要。高延时影响了直播互动体验,妨碍了直播在一些场景的落地,特地在电商直播,直播间的评论发问是观众和主播互动的一个重要伎俩,主播的实时互动反馈对直播间的活跃度和交易达成至关重要。 二、直播中的那几秒延时都散布在哪里?咱们分析直播延时的散布,在直播全链路能够分为7个步骤:别离是采集、编码、发送、散发、接管、解码和渲染。其中采集+编码,解码+渲染总体延时比拟固定,共100ms左右,变动比拟大的局部是散发和接管,从数十毫秒到数秒不等,次要取决链路时延抖动、协定栈的优化状况,以及CDN资源的笼罩状况。 所以,互联网上的直播的“延时”,次要是受限于不同地区、简单的网络状况、传输速度等以上的起因。 三、技术人员如何能力在延时上有所突破?为了帮忙直播零碎突破瓶颈,技术人员通常须要深刻以上7个环节中进行优化。比方,编码器须要思考发送时的拥塞状况,来实时调整码率进而缓解拥塞,从而升高延时;再比方传统的流媒体传输中媒体数据发送和底层的传输是互相独立的,底层TCP传输的拥塞控制算法是个通用算法,不会思考媒体的个性,这样的分层构造是很难造成即时反馈系统的,为了保障晦涩度,缓存区的大小设计会绝对激进,从而就义了端到端的时延,如果传输层和应用层是一体化的,QoS管制针对媒体个性来专门设计,同时配合编码侧的码率管制,就能通过组合拳的形式,大大地升高延时。在传统的架构里,这个7个环节互相独立,这样做的益处是团队分工比拟明确,但问题就是优化伎俩很难做到跨界交融,导致无奈做到零碎级优化。 目前,国内常见的直播场景包含1对N广播式直播和N对N互动式直播,其中1对N广播式直播大部分采纳RTMP、HLS或FLV协定,尽管具备集成不便、兼容性较好、反对大规模并发等长处,但延时最低也须要3-6秒;而N对N互动直播个别采纳WebRTC/RTC协定,延时能够管制在800毫秒之内,然而无奈反对大规模并发直播。所以,作为凋谢视频云服务的云计算厂商,阿里云推出了超低延时直播计划RTS(Real-time Streaming)。这个低延时直播计划是通过嵌入直播推流端与播放端SDK,或集成阿里云基于WebRTC的凋谢的自研协定,最终实现端到端毫秒级直播能力。 四、直播零碎开发人员为什么如此看重CDN?很多人会把CDN的存在比喻成网络系统中的“快递小哥”,其实它的工作原理就是在简单的互联网传输链路上,首先确保大量的边缘节点笼罩,复用节点和网络资源,在接入老本、资源笼罩、承载能力上实现了最优均衡;而后,再通过一系列的负载平衡、分布式存储、智能调度、抗弱网优化、缓冲策略、网络申请的重定向和内容治理等技术优化伎俩,为终端申请的内容寻找一条最快、最优的传输门路。 所以,对于直播零碎来说,CDN作为基础设施的资源储备非常重要。尤其是在大型流动期间业务流量突发,弹性、灵便的CDN能够在零碎安稳方面施展关键作用。 五、直播延时,还能进一步升高吗?想要进一步升高直播延时,是流媒体开发人员的独特指标。卢日所率领的团队联结手淘技术、达摩院XG实验室在先后从直播、短延时直播拓展到RTC畛域,并在QoS和AAA方面发力,最终胜利构建了GRTN寰球实时传输网。它的定位是基于核心云和边缘云的异构节点,构建超低延时、全分布式下沉的通信级流媒体传输网络。 目前,GRTN交融了互联网直播和RTC等多种业务场景的音视频流传输和替换。基于GRTN的短延时直播RTS能够反对规范H5 WebRTC推播,在千万级并发状况下延时能够管制在1s以内;RTC端到端延时能够管制在250ms左右。在2020双十一期间,淘宝首次启用了GRTN寰球实时传输网络。数据显示,在启用了GRTN后,直播端到端的延时相较于传统的HTTPFLV/RTMP形式,升高了83%。将来GRTN会在节点资源笼罩和QoS上持续鼎力投入,在超大规模直播场景下将时延进一步压缩20%。欢送大家关注“阿里云Edge Plus”微信公众号,后盾留言GRTN进入用户交换群。

February 1, 2021 · 1 min · jiezi

关于cdn:大促密集CDN如何保障电商体验如丝般顺滑

简介: 前不久,阿里云技术天团空降CSDN在线峰会,对核心技术竞争力进行解读。其中,阿里云高级技术专家曾福华分享了《双11: CDN如何保障电商大促如丝般顺滑》的议题。俗话说:养兵千日,用兵一时。每一次的战斗,前面都有有数的团队、有数的预案以及有数的演练在撑持着。双十一的稳固,不仅仅有各种翻新各种高科技,还有十分多的体系化工程给与了足够的保障,从物理层到应用层,从资源准入到线上演练,无一不例外的都蕴含着各种门道。面对电商大促,面对百 Tbps 级别的流量,阿里云 CDN 又是如何确保如丝般顺滑的呢? 前不久,阿里云技术天团空降CSDN在线峰会,对核心技术竞争力进行解读。其中,阿里云高级技术专家曾福华分享了《双11: CDN如何保障电商大促如丝般顺滑》的议题。俗话说:养兵千日,用兵一时。每一次的战斗,前面都有有数的团队、有数的预案以及有数的演练在撑持着。双十一的稳固,不仅仅有各种翻新各种高科技,还有十分多的体系化工程给与了足够的保障,从物理层到应用层,从资源准入到线上演练,无一不例外的都蕴含着各种门道。面对电商大促,面对百 Tbps 级别的流量,阿里云 CDN 又是如何确保如丝般顺滑的呢? 讲师:曾福华,高级技术专家,阿里云边缘云智能调度零碎负责人,次要钻研技术方向为边缘云网一体化调度。 关注阿里云Edge Plus微信公众号,看见更多技术资讯,文末留言更有阿里云T恤收费拿哦~内容目录: CDN的倒退历程及架构简介大促场景下,无关CDN的体量、保障以及排布那些事弹性、算力及模仿仿真等关键技术解读阿里云CDN倒退历程2008年:阿里云CDN起源于淘宝CDN,过后次要服务对象就是淘宝电商。2009年:双11启动; CDN研发团队成立; 阿里的CDN和电商有着千头万绪的分割。2011年:CDN作为流量基础设施,逐步从服务淘宝电商扩大到全面服务阿里团体。2014年:阿里云CDN正式商业化; Tengine+Swift节点架构上线,替换了ATS节点架构。2015年:阿里云CDN与电商携手迈进全站https阶段;阿里云CDN自研AIM1.0智能调度零碎上线。2017年:阿里云CDN开启全球化策略;合并优酷CDN;正式公布SCDN、DCDN等产品;同年被Gartner评定为寰球级供应商。2018年:阿里云CDN撑持了全网70%世界杯直播流量;AIM2.0智能调度零碎公布。2019年:围绕“智能化”,阿里云CDN在技术上深耕,在可编程CDN、多维资源负载平衡、精细化经营、各种边缘场景服务上继续打磨。2020年:在全民抗疫的背景下,阿里云CDN撑持直播在线教育等场景流量大幅增长;在技术层面,进行CDN边缘云原生与云网一体化调度革新。 上图中能够看出,随同着每年双十一以及挪动互联网、视频的遍及,CDN的流量也出现一个指数级增长。截止目前,阿里云CDN在寰球有2800+边缘节点,笼罩了3000多个地区和运营商。服务寰球数十万客户,为超百万域名提供减速服务。阿里云CDN打造的一张连贯寰球的边缘生态网络,在晚顶峰期间每秒解决上亿QPS的用户连贯申请,每天将客户数十亿次配置管理指令下发到全网所有节点。 CDN简介与技术架构家喻户晓,站点加载速度对上网体验影响十分大。据统计,大部分站点如果不能在3秒内关上的话,靠近50%的用户会抉择来到。对于大型在线零碎来说尤为显著,加载工夫每缩短1秒,一年就会缩小数以亿计的营收。CDN就是旨在提供客户站点拜访减速的PaaS云服务(尽管CDN诞生的时候云计算的概念还没有提出来),CDN十分遍及,承载了互联网90%以上的流量。工作的原理是通过广域笼罩的边缘节点将内容散发到寰球各地,调度零碎将用户申请疏导正当的边缘节点来大幅减低拜访时延,并管制着缓存内容回源流向,进而达到给客户站点减速的目标。 CDN比拟切确的定义是,基于运营商资源通过低成本、高牢靠、广覆盖的计算基础设施、内容链接能力及视频承载平台。CDN外部零碎笼罩智能调度、网络/协定以及供应链的治理等模块,同时加之数据和平安防护生态能力,在此基础之上,提供面向网页、图片、点播、直播、动静、政企、平安等不同场景的减速能力。 电商大促的技术特色与挑战明天的大促规模非常宏大,通常是百T级的业务带宽,亿级的并发申请,须要百万级的CPU核耗费,如此大规模的场景磨炼下,推动了云产品尤其是CDN的疾速成长。 大促流动有两个特色,第一是密集排布,包含流动安顿紧凑,对应不同业务方;流动形式多样,如猫晚直播、大主播、红包、秒杀、0点开抢等等;同时流动估计非常复杂,须要思考并发连贯、带宽、算力、命中率等指标。第二是须要在高负载下灵便变阵,思考到:高负载大盘资源运行水位;各流动场景对不同维度资源需要差别大;各流动场景的调度笼罩策略要具备随机应变能力,以及弱小的资源弹性伸缩能力。 那在这样简单的背景之下,如何去满足业务高速倒退的需要呢?直面洪峰流量:CDN如何承载大促洪流?通常,拿双11大促举例,CDN的保障分为准备、战前、护航三个大的阶段。同时,因为双11保障是组织和零碎联合的体系工程,具体拆解下来能够分为需要评估、预案筹备、需要交付、演练压测、封网保障、大促护航等不同阶段。 一、准备在需要采集和评估阶段,CDN须要向各个业务侧去采集业务需要,明确工夫点、业务特色画像和业务流动报量,同时要明确是否波及新的性能定制。而后依据业务需要转化成资源需要,包含库存盘点、错峰复用和资源缺口与建设;在预案的筹备阶段,须要盘点分明今年既有预案和新增预案;按场景和用处分成提前预案、还是紧急预案;大部分预案是CDN平台侧独立实现即可,还是局部须要和业务方一起配合联动;定制需要交付过程中,次要波及定制开发、联调测试、上线验证等过程;资源在建设交付过程中,也须要对交付的资源进行业务模仿仿真,并配合进行业务资源池的调整。 二、战前筹备首先须要实现演练压测阶段,包含对容灾、平安、性能和性能各方面的演练,进一步确保双11对软硬件零碎、人员组织等方面的筹备工作是到位的,包含预案是否笼罩残缺;接下来,就要进入封网保障阶段了,个别在大型流动上线之前都会禁止所有的公布和变更,一直进行零碎巡检,巡检中确保所有呈现的缺点修复到位,同时这个阶段也会进行战前动员保障,激励士气的同时也对大促保障标准做进一步强调。 三、护航阶段正式开始护航后,通常会依照提前安顿好的分工进入现场保障,尤其前期工作做得充沛,这个阶段次要工作就是盯盘,针对异常情况须要疾速地发现并定位问题,按计划启动相应紧急预案进行响应。最初,保障完结后须要对整体护航进行复盘总结,为将来的大促保障去做更多参考积淀。 CDN保障大促的关键技术点利用一、大促场景弹性如何保障?因为大促期间业务排布十分多,那么在高资源运行水位的状况如何进行灵便的弹性调度保障十分要害。阿里云CDN是如何保障的呢?如下图(上半局部)所示,海量业务中每个业务都有本人的资源偏好,为了保障弹性在业务和资源的匹配过程中,采纳了不强制只择优的业务资源匹配机制。总结下来,阿里云的CDN调度零碎在弹性保障上:资源共池交融是业务弹性保障的最关键因素;不做业务级别的节点硬件隔离,流量实时按需流动到全网所有节点上;弹性、品质是可衡量的双指标,可依据理论状况进行自主灵便可控(业务资源匹配水平);按整体大盘需要进行资源布局、资源建设、资源调度; 如上图(下半局部)所示,咱们要做到通过业务资源池资源调度优化,让全网2800+CDN节点所有节点的齐涨齐落,这样能力给大促业务提供最大的资源弹性保障。所以,调度不仅是全局负载平衡,更是弹性伸缩,阿里云CDN调度零碎进行了以下筹备: 节点角色交调度零碎决策,剪除硬束缚;业务资源池交调度零碎实时决策,灵便变阵;节点上业务混布交调度零碎决策,充沛复用;资源池布局、全局负载平衡中台的双剑合璧,弹性伸缩;二、 大促场景算力如何调度?很多人认为CDN单纯是流量散发零碎,但其实这个观点是值得商讨的,在一些场景下还会海量大促突发申请会耗费微小算力资源。拿双11来举例,电商网站进行了全站的https革新,在11日凌晨0点电商大促开抢霎时,所有申请汇聚进来,这时候会造成十分微小的尖脉冲,算力耗费非常微小,此时如果没有很好的机制去进行算力资源调度和全局负载平衡,就会呈现大面积的业务异样。按天维度来看,双11当天QPS比平时要高出约三成。所以CDN在大促场景下的另一个外围挑战是:如何对海量业务算力耗费进行精准的全局负载平衡调度? 曾福华在此介绍:在带宽调度或流量调度时,咱们能够从日志上精准推演每个申请耗费的流量,然而比拟难精准去推算出每个申请耗费了多少算力,这对咱们来说是十分大的难题。如下图所示是阿里云CDN的解题思路,基于已知的每个节点的CPU耗费以及节点的并发QPS这两个数据,能够对每个业务单位QPS的CPU耗费进行公式的计算。同时依据不同工夫点的不同数据变动,一直进行机器学习训练,得出各个业务均匀单申请的CPU耗费精准数据了。有了带宽和算力耗费的数据,如此一来,之前的单维带宽调度就须要升维到多维资源调度模型,生成带宽与算力等多资源维度下的全局负载平衡的调度新策略。 三、大促限流保障机制后面有介绍到大促期间整个大盘是在资源高水位状态下运行,所以须要业务侧做精准的业务报量,CDN平台会依据这个报量去进行资源评估。然而任何事件都须要思考到突发性和意外性,如果突增业务量超过了之前评估的业务报量,CDN平台怎么进行风控呢? 这一方面须要业务侧对于报量进行精准评估,而另一方面CDN平台侧须要限流的策略来确保整体业务安稳运行。阿里云CDN在限流保障上曾经在多方面积淀了很多实战经验和能力。阿里云CDN多级全方位限流保障蕴含: 业务类型: 直播、点播、下载、动静减速等场景限流;限流类型: 带宽、QPS、连接数等;限流状态: 单阈值区间限流,多阈值区间限流;限流范畴: 全网、区域、节点等;限流层级: L1限流、L2限流、回源限流; 四、调度模仿仿真平台后面咱们讲到大促场景中需在高负载的状况下进行灵便变阵,调度模仿仿真平台是一个十分好用的工具。大促场景联合各个业务预估报量进行全局调度策略侧模仿仿真,能够在事先未卜先知资源瓶颈和危险点会产生在什么中央,须要针对各个业务怎么做资源补充和策略调整,循环迭代调整业务资源池,直到模仿仿真平台上危险点解除掉。除了大促场景之外,调度模仿仿真平台还能够减速辅助CDN调度外围零碎的性能演进,从全局角度来察看验证新组件带来的变动影响是侧面还是负面。 模仿平台的用处总结: 第一,基于沙盘模仿迭代,打磨了一套零老本试错之路•减速调度外围零碎等组件的进化;•测试平台+模仿仿真平台,独特保卫稳定性;•业务策略、资源的调整实时评估; 第二,通过大促模仿仿真,能够提前预知危险•业务报量到资源建设,连接管控全流程;•准确推导资源缺口,准确推导承载增量;•大促流动变阵模仿,循环迭代业务资源池; 以上是阿里云CDN基于多年电商大促场景保障过程中积淀下来的一些实战经验分享。阿里云CDN目前也在边缘云原生和云网一体化调度上做了很多技术上的演进,前面咱们将继续给大家进行相干分享,谢谢观看。

January 25, 2021 · 1 min · jiezi

关于cdn:如何在云开发中优雅地管控-CDN-流量

在微信凋谢社区中,有不少应用云开发的小伙伴反馈遇到了“CDN流量耗费如流水”的状况。 有一沉睡来超额的: 有被高质量图片的加载“吓”到不敢用的: 遇到以上状况不要慌,很可能是你的应用姿态不对! 那么问题来了,如何在云开发中优雅地管控 CDN 流量耗费呢?本文就来和你具体聊聊! 按量付费和管道付费为了便于了解,先来看看云开发的流量计费模式。 简略来说,按量计费就是:你有多少个量跑出去了,就给你算多大量;然而它并不限度你同一时间跑出去的量,也就是流量峰值不设限。 如果你在同一时间须要跑出去100M的量,那么峰值就给你开到100M,在同一时间跑完,最初算费用是100M的钱。 而管道付费则是限度给你开多宽的“路线”,依照这个“路线”的宽窄免费,比方你抉择1M的网络路线,那就依照1M的价格来收钱;在应用时,你的量只能达到1M的速度,再也高不了了,这个最大速度就被称做带宽。 然而即便低峰没多大量时,你还必须为这个“路线”付钱。还是上述例子,你同一时间须要跑出去100M,然而速度只能给你开到1M,那么这些量在100秒后才能够走完,最初算费用是1M的路线租金*租用时长。 而在事实我的项目中,总会有业务的顶峰和低峰,流量简直不可能始终保持在一个恒定的速率,这就会造成管道计费有速度的天花板、但闲置时仍在计费的资源节约问题。 云开发作为 Serverless 云原生一体化后端服务,提供的流量是按量计费的,不限度同一时刻的流量速度,因而,如果开发者应用不合理就会导致流速过快,进而造成“一眨眼的功夫,流量就超额了”的状况。 理解了按量付费和管道付费的区别后,咱们进入正题,说说 CDN。 什么是CDN流量?咱们在应用云开发时,简直在各处都会看到CDN这个词。 CDN又称内容散发网络,艰深来讲就是将你主存储(源站)中的文件,复制给各地的存储点(CDN节点),当有用户拜访这个资源时,间接从就近的存储点(CDN节点)获取即可。 云开发的云存储和动态网站托管人造反对 CDN 减速,所以你的用户通过客户端下载文件跑的流量都是 CDN 流量。 以上 CDN 流量只实用于各种渠道走减速公网下载文件的状况,比方浏览器加载网站,客户端下载资源,内部零碎申请文件,通过长期地址的各种拜访关上文件都在耗费 CDN 流量。 然而如果是内网拜访文件,则不走 CDN 流量耗费,比方在云函数中通过 fileID 拜访文件等。 什么是CDN回源流量?当咱们的存储中有文件更新时,存储在 CDN 节点的旧文件又该如何解决呢?在这里引入一个知识点——缓存工夫。 这里的缓存工夫其实就是文件正本在各地存储点(CDN节点)的无效工夫,比方默认是两小时,那么每次文件正本在各地存储点的无效工夫就是两小时,超过这个工夫之后再收到申请时,存储点(CDN节点)就会抛弃过期的旧文件,向主存储(源站)申请最新的文件,而这一申请所产生的流量就称为 CDN 回源流量。 缓存工夫既不能太长也不可太短,如果 CDN 缓存间隔时间过短,那么 CDN 节点上的数据会常常生效,导致频繁回源,减少了源站的负载,进而影响了整体的传输效率;如果缓存间隔时间过长,会带来数据更新不及时等重大的业务问题。 云开发的云存储就提供了十分轻微颗粒度的缓存工夫设置,你能够针对一个文件、一个门路甚至是文件后缀来进行别离设置。 另外,多个缓存规定设置中还有优先级策略,调配变得更加灵便。 云存储是以从后到前的配置模式来做策略计算的,比方一个云存储的域名做了如下缓存配置: 当初申请此门路下资源/test/abc.jpg,其从后到前匹配形式如下: 匹配第一条所有文件,命中,此时缓存工夫为 2 分钟。 匹配第二条,未命中。 匹配第三条,命中,此时缓存工夫为300秒。 匹配第四条,命中,此时缓存工夫为400秒。 匹配第五条,命中,此时缓存工夫为200秒。 如何正当管控CDN?咱们须要把握一个准则: 缩减大小,善用缓存。 缩减大小的意思就是,咱们在开发利用时,所须要的多媒体文件,如果没有特殊要求(比方摄像馆的原图发送),须要尽可能的压缩。只有加重了业务资源的大小,才可能基本的缩小流量资源的耗费。 另外,用户在上传多媒体资源时,依然能够应用平台或框架能力对资源进行压缩后再上传,保障资源都是通过优化后进入存储,这样在申请下载时就会加重很多累赘。 善用缓存意思就是同一个用户、同一份资源尽可能不要申请一次以上,要正当应用客户端的本地缓存能力,将固定资源全副缓存。当用户再此进入时,间接应用缓存的资源。 例如,微信小程序官网就提供了图片缓存配置,开启后所有图片均进行缓存,下次读取雷同资源时,间接从缓存中读取。 文档链接:http://mrw.so/6wT3TR 再送给大家一句网络金句:缓存用的好,PV 的成果用的只是 UV 的量。 ...

January 22, 2021 · 1 min · jiezi

关于cdn:拍乐云Pano入局教育全球化受邀参加Edvation-x-Summit-2020

11月3日-11月5日,Edvation x Summit 2020 EdTech寰球会议在线上隆重召开,这是一年一度日本最大的教育科技翻新大会,有近5000名教育行业公司、学校和教育相干政府的用户深度参加。本次大会由日本教育翻新委员会组织,主题是“新的教育抉择”和“不受约束的教育创新者”,笼罩“GIGA学校”,“教育 x 云”,“ STEAM教育”、“个性化教育”、“中国教育技术”等议题全面开展。拍乐云Pano创始人& CEO 赵加雨受邀参会,在“中国Edtech”专题中进行了题为《中国线上教育和实时互动技术》的主题演讲,同时介绍了拍乐云在教育场景中当先的实时互动解决方案。 据赵加雨介绍,中国教育市场规模曾经超过4万亿,用户数达到4.23亿。其中线上教育的渗透率达到了10%,相比2019年增长了30%,加上往年疫情的影响,减速造就了用户的线上习惯,预计在线教育市场将在今年年底冲破4300亿规模。在线教育各个赛道中,K12教育赛道的倒退最为迅猛,这跟智能手机的遍及和80后父母教育意识的加强都非亲非故,预计到2020年底,K12市场规模会占到整个在线教育的30%。 从在线教育的浸透过程来看,能够追溯到2012年,它起源于超一线城市,到2017年缓缓渗透到一二线城市,到了往年逐步下沉到三五线城市和乡镇农村,越来越多的家庭开始承受网课。另一方面,在线教育起源于MOOC,像YouTube一样,用户能够从网上下载教学视频,按需回放。在这个阶段,学生和老师之间没有互动的渠道,很多学生并没有实现线上所有的课程,也无奈向老师及时无效地发问,线上课堂的成果齐全达不到预期。因而,很多教育公司开始减少实时互动能力,一对一课堂开始呈现了,零距离的互动使得课堂变得更高效,学生变得更专一,但并不是一种经济效益最好的形式。随之,互动小班课、互动大班课、AI课堂开始呈现了,实时互动成为了所有课堂状态的刚需。 赵加雨提到,不论是互动小班课、互动大班课场景,还是超级小班课、双师大班课场景,拍乐云都能助力教育企业,提供丰盛的课堂互动、屏幕共享、课件转码、互动白板、录制回放、课堂监课等教学工具,实在还原线下授课场景,进步名师资源利用率,晋升教学互动体验,可实用于少儿语言培训、K12课程辅导、少儿编程、钢琴陪练、数学思维启蒙、引流公开课等各种教学赛道。 拍乐云作为业余的实时互动PaaS云服务厂商,在音视频通信畛域20年技术教训中锻炼出高稳固、高品质、低时延的寰球实时互动服务,集成拍乐云SDK,开发者及企业可轻松实现语音聊天、视频聊天、互动白板、互动直播和云端录制等多种能力。拍乐云领有齐全自主研发的音视频引擎,在音视频编解码、网络传输、弱网反抗与QoE、回声打消、实时通信组网与路由、高并发的流媒体散发等方面都达到了国内顶尖程度。拍乐云带来的更稳固优质的全球化实时互动体验,对于国内用户、海内用户都是优质的抉择。

January 11, 2021 · 1 min · jiezi

关于cdn:CDN应用进阶-正确使用CDN-让你更好规避安全风险

为了帮忙用户更好地理解和应用CDN产品,CDN利用实际进阶零碎课程开课了。12月17日,阿里云CDN产品专家彭飞在线分享了《正确应用CDN,让你更好躲避平安危险》议题,内容次要包含以下几个方面: 应用CDN的常见误区和问题有哪些?DDoS攻打是如何一步步演进的?CDN场景中更无效的防护形式是什么?阿里云CDN边缘平安体系如何帮忙客户抵挡攻打?针对近期潜在平安危险,你能够怎么做?客户体验和平安稳固是企业的两大外围诉求阿里云CDN正式商业化至今,曾经服务了30万+的寰球客户,其中最外围的两类场景就是网站和APP的业务。在这个业务中,客户的外围诉求还是绝对集中的,一方面,心愿可能给他们的用户提供更优质的体验,须要解决散布于不同运营商网络下的终端用户的跨网拜访效率、宽泛散布用户的一致性拜访体验、核心部署源站老本昂扬、突发流量下的弹性扩大以及弱网环境下传输性能等等方面的问题;另一方面,客户心愿业务是平安稳固运行,这种稳固就包含了提供SLA可靠性、解决网络DDoS和CC攻打、爱护内容不被歹意爬取、劫持、篡改等等。综上所述,用户体验和平安稳固是企业的两大外围诉求。 CDN是企业罕用的互联网服务之一,次要提供内容散发服务。CDN能帮忙用户缓解互联网网络拥塞、进步互联网业务响应速度、是改善用户业务体验的重要伎俩。同时,CDN应用反向代理技术,能无效的爱护用户源站,防止源站裸露进而受到黑客的攻打。CDN海量的服务节点人造给用户提供了肯定的防护能力,继而取得相应的稳定性晋升。默认状况下会用整个CDN大网的网络能力和计算能力,无效的反抗攻击者的攻打。 对于CDN平安的那些误区和问题前文提到了CDN节点能够为用户提供肯定的防护能力,其实在应用CDN过程中会有一些常见的误区,比方:第一个误区是有些用户认为用了CDN之后无效爱护源站就不须要额定购买平安服务了,甚至能够应用CDN平台来抵制攻打;第二个误区是用户认为其用了CDN后无需进行任何额定配置,有攻打CDN主动来抵制,和其没什么关系,对其没什么影响。 随同这两种误区就会产生一些问题,比方:第一个问题是当用户受到DDoS攻打,CDN为保障整体服务质量,会将用户业务切入沙箱,网站业务品质受到较大影响,且影响该域名后续的CDN减速服务质量。第二个问题是当用户受到刷量型CC攻打,因为申请十分扩散,CDN认为是客户失常业务的流量增长,因而尽力提供服务,造成短时间大量带宽突增,客户要为此付出大额账单,造成较大的经济损失。 正确地意识网络攻击客户业务线上运行过程中,不可避免会遇到网络安全威逼,DDoS攻打是最典型的。DDoS的外围原理是什么?是如何倒退演进的? 咱们有必要进行具体的理解,以便于更好的在CDN上给与其防护。 DDoS的外围指标是造成业务损失,受益指标无奈对外进行服务,进而造成业务损失。其本质是耗费指标零碎的资源,具体有2种实现形式:一种叫做拥塞无限的带宽,第二种叫耗尽无限的计算资源。实质上CDN给用户提供的就是这两种资源。一个是散发的带宽资源,第二个是在节点上提供相应的算力,所以攻打自身就是在耗费这个。 其中三类攻打包含:一、网络流量型攻打这种攻打会利用到一些协定破绽,比方UDP、SMP协定,很轻易地结构出过载大报文来梗塞网络入口,这就导致失常申请很难进入。 二、耗尽计算资源型攻打——连贯耗尽 最典型的就是网络层CC,利用HTTP协定的三次握手,给服务器发一半的三次握手申请,后续的一些申请不再发了,所以服务器端就会期待,进而占用大量的资源,导致服务器连贯资源间接被耗尽,服务不可继续。 三、耗尽计算资源型攻打——利用耗尽 典型是是7层的应用层CC攻打。这种攻打收回的攻打申请,从报文来看,看不出他有非常明显的畸形或无害性,很难去做相应的判断。因为七层CC都是失常的业务申请,同时CDN只是缓存内容,并不理解业务逻辑,同时业务也常常会遇到客户业务突发,当CC攻打时,如果无非凡的错误码异样,从CDN角度来看会和失常的业务上量是一样的,因而也会尽力服务。进而CC攻打会造成突发带宽峰值,进而产生高额账单,因而给客户造成了较大的经济损失。 DDoS攻打的演进理解到攻打本质之后,再看看整个攻打的演进过程,便于大家更好地理解攻打原理。整个的演进大略分为四个阶段: 第一个阶段:DoS攻打基于一个单点的服务器进行攻打流量的发送。这时流量规模在500Mbps到10Gbps之间,因为传统服务器的硬件、服务性能、带宽程度都无限,在这样的流量规模之下,就能够造成服务器的全面瘫痪,甚至终止。通过对传统硬件设施间接进行流量荡涤的单点防护,再回到服务器,就能够达到进攻目标。同时,也能够对相应的原IP进行封禁。 第二阶段:DDoS攻打也就是分布式的DoS攻打,它的攻打源就不是单点的服务器,而是一群僵尸网络,黑客通过系统漏洞在网络上抓取大量肉鸡,使用这些肉鸡在不同的网络里去同时发动攻打,造成的带宽规模可能从10Gbps到100Gbps。对这种分布式的僵尸网络攻击模式,通常进攻伎俩就是用多点的大流量荡涤核心去做近源的流量压抑,之后再把清洁流量注回到服务器。 第三阶段:DRDoS,分布式反射型拒绝服务攻打。互联网上的肉鸡抓取可能存在艰难,但一旦被发现,很快这个周期就会失落掉。所以这些僵尸网络在管制肯定的这个周期数量后,会通过反射的机制向指标主体进行攻打。反射的次要机制是互联网上公共的实在存在的设施,在解决协定的过程中可能会造成一个攻打流量老本的放大,比方申请NTP 10K返回50K,申请的原地址改成指标服务器,所有终端都认为受益主机在申请,所有申请都会回到受益主机。整个流量可能会从100Gbps到2Tbps之间,所以对于这种攻打一个是要在很多的协定源头去做流量的阻断,另一个就是还要通过全球化分布式的DDoS进行相应进攻。 第四阶段:将来倒退将来,5g、IPv6和IoT技术倒退,会导致单位攻击能力翻10倍、公网IP数量指数增长以及潜在肉鸡无处不在,都是咱们将要面临的一些危险。所以将来的攻打规模可能会超过2Tbps甚至更高。 CDN场景中应该怎么去更加无效的防护?沿着以上两个外围场景来看,一个是拥塞带宽,一个是耗尽资源。 对于拥塞无限带宽入口这类攻打,实质上要在流量上Hold住。CDN人造具备丰盛的节点资源,应用分布式的网络将攻打扩散到不同的边缘节点,同时在近源荡涤后返回服务端。 对于耗尽无限资源资源这类攻打,实质上要做到攻打的疾速可见,并且可能把相应特色进行阻断。单纯依附CDN不能特地无效的解决问题,须要通过CDN节点上的配置,实现智能精准检测DDoS攻打,并自动化调度攻打到DDoS高防进行流量荡涤。这时候须要用户购买高防抗DDoS的产品。 实质上规范的CDN依然是一个内容散发产品,不是平安产品,也没有承诺平安方面的SLA,因而,如果用户须要更加业余的平安服务,还是须要抉择云平安的DDoS等产品,造成多级的平安防护体系,来更加无效的进行危险进攻。 那么,具体阿里云CDN联合云平安的产品之后,可能提供怎么的平安防护体系呢? 政企平安减速解决方案 是一套基于基于阿里云CDN构建的边缘平安体系,外围能力是减速,但又不止于减速。减速是整体计划的根底,依靠于阿里云全站减速平台,通过自动化动静拆散,智能路由选路,公有协定传输等核心技术,晋升静动静混合站点的全站减速成果。在减速根底之上,为客户提供WAF应用层平安、DDoS网络层平安、内容防篡改、全链路HTTPS传输,高可用平安,平安合规 6大方面平安能力,从客户业务流量进入CDN产品体系,始终到回到客户源站,全链路提供平安保障,保障企业互联网业务的平安减速。 CDN边缘平安——网络层与应用层双重平安一、网络层银行,证券,保险等金融行业的业务线上化曾经成为常见的业务办理模式,客户的 金融网银,网上业务办理业务,个别状况下Web攻打较多,遭逢DDoS网络攻击的场景并不常见,但一旦产生DDoS攻打,企业外围互联网业务就面临瘫痪危险,将会重大影响企业品牌,产生重大资损。因而个别状况银行客户都在源站侧部署DDoS防护能力,同时在CDN边缘散发侧,也心愿CDN能利用大量分布式的节点劣势,提供边缘DDoS防护能力,在边缘检测DDoS攻打并实现攻打阻断,爱护源站不受到攻打冲击。最终实现,无攻打CDN散发,有攻打DDoS防护。 在CDN的边缘节点具备根底的抗D的防护能力。如果用户以后的攻打流量比拟高,达到了用户设置的阈值之后,就能够自动化的检测到以后的攻打的流量,并且通过智能调度的形式,将以后歹意的申请全副解析到高防的IP。高防IP的产品去做流量的攻打检测,以及攻打的荡涤防护,整个过程是自动化实现。 整个业务流程是:•客户须要别离开明CDN和DDoS高防产品,并将域名配置在两个产品中,其次,将高防侧生成的调度CNAME在CDN侧进行联动配置。配置后即可实现无攻打CDN散发,有攻打DDoS防护的成果•在遇到攻打时,首先,自动化抛弃非80|443端口非正常流量,第二,CDN会智能辨认网络层攻击行为,精准,实时将DDoS攻打区域流量切换到高防服务,整个过程齐全自动化,无需用户染指;第三,在高防侧用户能够享受最高超过1T的DDoS防护和清理能力,以及超过250W QPS的防护能力•当攻打完结后,CDN将主动将流量从新调度回CDN网络,实现失常业务散发 如上就可能残缺平滑的实现CDN与高防的联动,实现无攻打CDN散发,有攻打DDoS防护。 二、应用层批发客户通过线上电商进行产品宣传和售卖曾经成为一种常见的销售模式,无论是企业官网,电商平台,经营流动页面,只有是面向互联网业务无可避免的,常常常常遭逢Web,CC,刷量攻打,对客户体验,稳定性产生较大影响。客户在源站部署WAF能力,爱护源站。同样,在CDN散发侧,心愿在云端进行Web平安防护。客户会优先开启察看模式,在云端感知到网络攻击危险,而后,逐渐灰度源站策略,实现多级防护构造,保障源站平安。 阿里云CDN团队与云平安团队单干,将积淀多年的云WAF能力,注入到CDN边缘节点,实现WEB攻打的边缘平安防护。 大家都晓得,CDN产品个别由2层节点形成多级散发体系,边缘节点更凑近客户,回源下层节点与源站交互获取源站内容,回源节点和边缘节点之间造成多级缓存,晋升命中率。以后,云WAF能力曾经注入到CDN回源节点,针对动静回源申请,防护OWASP Top10威逼,例如:SQL注入,XSS跨站等常见Web攻打;同时客户还能享受到0 DAY破绽更新能力,24小时内提供高危破绽虚构补订防护。 然而仅能解决回源防护就足够了吗?如果呈现歹意刷量,歹意爬取,大文件CC攻打场景,仅会对CDN边缘节点产生影响,申请不通过L2,会产生大量上行带宽,极大晋升客户的带宽老本。所以,CDN在边缘节点提供频次管制,机器流量治理能力。通过频次控制能力,用户能够自定义防护规定,无效辨认异样的高频拜访,边缘抵挡CC攻打。通过机器流量治理能力,辨认歹意爬虫软件等机器流量,无效升高上行带宽,节约老本。 通过以上两层能力,CDN能够为用户提供较为平面的应用层防护能力。

December 22, 2020 · 1 min · jiezi

关于cdn:CDN工作原理及其在淘宝双11图片业务中的应用

1、导读淘宝的图片拜访,有98%的流量都走了CDN缓存,只有2%会回源到源站,节俭了大量的服务器资源。 然而,如果在用户拜访高峰期,图片内容大批量发生变化,大量用户的拜访就会穿透cdn,对源站造成微小的压力。 往年双11,淘宝鹿班的主图价格表白降级我的项目,就面临了这种挑战,让咱们看看是如何解决的吧。 (更多干货请关注【淘系技术】公众号)2、CDN工作原理内容散发网络(Content Delivery Network,简称CDN)是建设并笼罩在承载网之上,由散布在不同区域的边缘节点服务器群组成的分布式网络。 CDN利用宽泛,反对多种行业、多种场景内容减速,例如:图片小文件、大文件下载、视音频点播、直播流媒体、全站减速、平安减速。 借用阿里云官网的例子,来简略介绍CDN的工作原理。 假如通过CDN减速的域名为www.a.com,接入CDN网络,开始应用减速服务后,当终端用户(北京)发动HTTP申请时,解决流程如下: 当终端用户(北京)向www.a.com下的指定资源发动申请时,首先向LDNS(本地DNS)发动域名解析申请。LDNS查看缓存中是否有www.a.com的IP地址记录。如果有,则间接返回给终端用户;如果没有,则向受权DNS查问。当受权DNS解析www.a.com时,返回域名CNAME www.a.tbcdn.com对应IP地址。域名解析申请发送至阿里云DNS调度零碎,并为申请调配最佳节点IP地址。LDNS获取DNS返回的解析IP地址。用户获取解析IP地址。用户向获取的IP地址发动对该资源的拜访申请。如果该IP地址对应的节点已缓存该资源,则会将数据间接返回给用户,例如,图中步骤7和8,申请完结。如果该IP地址对应的节点未缓存该资源,则节点向源站发动对该资源的申请。获取资源后,联合用户自定义配置的缓存策略,将资源缓存至节点,例如,图中的北京节点,并返回给用户,申请完结。从这个例子能够理解到: (1)CDN的减速资源是跟域名绑定的。 (2)通过域名拜访资源,首先是通过DNS分查找离用户最近的CDN节点(边缘服务器)的IP (3)通过IP拜访理论资源时,如果CDN上并没有缓存资源,则会到源站申请资源,并缓存到CDN节点上,这样,用户下一次拜访时,该CDN节点就会有对应资源的缓存了。 3、淘宝鹿班图片业务背景商品的主图贯通整个导购和交易链路,相比文字,图片更能吸引眼球,主图对消费者的购物决策有很大的影响。主图上表白的内容各式各样,但其中肯定少不了的肯定是价格的表白。     长期以来,主图上的价格表白都是商家本人保护,商品价格发生变化后,手动去换图。这样做,会带来3个问题:   (1)价格的准确性:商家手动填写的图片价格,跟理论的购买价可能不统一,造成不好的用户体验。   (2)价格更新的及时性:有时候,因为优惠券/品类券的失效生效,会导致商品的价格变动会很频繁,商家基本来不及换图。   (3)商家的操作老本:手动批改图片的价格,老本还是很高的,须要通过ps等软件批改图片,从新上传,编辑商品。 往年双11,咱们淘宝鹿班团队,试图通过技术手段来解决这些问题。当商品价格发生变化后,零碎主动计算新的价格,自动合成图片,而后更新商品主图。 咱们晓得,淘宝网有上亿的商品,光大促商品就有几千万,因而,价格变动导致的图片变动频率十分高。最高的就是在双11的0点,全副大促商品的价格都会由日常价格变成大促价格。 这就意味着,大促高峰期,有上千万的图片刚生成就会被用户拜访。那这个状况会产生什么问题呢,让咱们先理解下淘宝的图片空间和CDN的架构,就分明了。 4、淘宝图片空间和CDN的架构 ================ 淘宝整个图片的拜访链路有三级缓存(客户端本地、CDN L1、CDN L2),所有图片都长久化的存储到OSS中。真正解决图片的是img-picasso零碎,它的性能比较复杂,包含从OSS读取文件,对图片尺寸进行缩放,编解码,所以机器老本比拟高。 CDN的缓存分成2级,正当的调配L1和L2的比例,一方面,能够通过一致性hash的伎俩,在等同资源的状况下,缓存更多内容,晋升整体缓存命中率;另一方面,能够均衡计算和IO,充分利用不同配置的机器的能力。 用户拜访图片的过程如下: (1)用户通过手机淘宝来搜寻商品或者查看宝贝详情。 (2)详情/搜寻/举荐通过调用商品核心返回商品的图片URL。 (3)客户端本地如果有该图片的缓存,则间接渲染图片,否则执行下一步。 (4)从CDN L1回源图片,如果L1有该图片的缓存,则客户端渲染图片,同时缓存到本地,如果L1没有缓存,则执行下一步。 (5)从CDN L2回源图片,如果L2有该图片的缓存,则客户端渲染图片,同时CDN L1及客户端缓存图片内容,如果CDN L2没有缓存该图片,则执行下一步。 (6)从图片空间回源图片,图片空间会从OSS拉取图片源文件,按要求进行尺寸缩放,而后执行编解码,返回客户端可能反对的图片内容,之后客户端就能够渲染图片,同时CDN的L1、L2以及客户端都会缓存图片内容。 5、频繁换图带来的技术挑战 当商品的价格发生变化时,咱们会应用新的价格从新合成图片,更新商品核心中存储的图片URL。这样会带来2个问题: (1)CDN及手机淘宝本来缓存的图片内容生效了,用户拜访图片会全副回源到img-picasso。 (2)因为更改了商品的字段,交易的外围利用(购物车和商品核心)的缓存也生效了,用户浏览及购物时,对商品的拜访会走到db。 源站img-picasso解决图片,以及查问商品DB,都是十分耗费资源的。CDN及商品的缓存命中率升高后,对源站img-picsasso以及db会产生微小的压力。 拿CDN缓存为例,简略计算一下,CDN平时的命中率是98%,假如命中率升高1个点,对源站的压力就会减少1/3(本来承当2%的流量,当初须要承当3%的流量),意味着img-picasso须要扩容1/3。如果全网一半的图片都同时变动,cdn的命中率降到50%,对img-picasso的访问量就会减少25倍,这个扩容老本必定没法承受。 解决这2个问题,对应的有2个方法: (1)改图放弃图片URL不变,能够防止商品链路的缓存生效。 (2)在拜访顶峰到来之前,提前预热图片到CDN,能够防止CDN缓存生效对源站的压力。 上面,介绍下咱们具体是怎么做到这2点的。 6、频繁换图的应答计划6.1、改图放弃图片URL不变 图片内容发生变化时,执行上面2个操作: (1)更新OSS内容:应用新的图片内容替换OSS中老的图片内容 (2)刷新CDN缓存:革除CDN之前缓存的图片内容 这样,用户再次拜访图片时,发现CDN没有缓存,就会回源到img-picasso,从OSS拉取新的图片内容。 因为图片URL没有变动,就不用去更新商品核心的图片链接,这样商品链路的缓存能够放弃不变。 在真正施行这个计划的过程中,遇到了几个问题,简略跟大家分享下: 6.1.1、OSS三地同步淘宝的图片空间,承载了淘系所有图片的上下行稳定性保障,为了保障高可用,一份资源会存储到三地OSS。图片上传时,默认只上传一地,利用OSS的能力,主动同步到另外两地。     然而应用URL不变计划,CDN缓存曾经革除实现后,如果另外2地的OSS还未同步实现,用户拜访后,就会回源到旧的图片内容,发现图片内容没有变动。 ...

December 8, 2020 · 1 min · jiezi

关于cdn:面对日益严峻的网络安全问题CDN可以做什么

在咱们享受着互联网提供的更便当、更多元服务的同时,隐匿在网络身处的各类平安问题也日益严厉。在去年,阿里云云平安监测到云上DDoS攻打产生近百万次,应用层DDoS(CC攻打)成为常见的攻打类型,攻打手法也更为多变简单;同时,Web利用平安相干的问题仍然占据十分大的比重,从用户信息泄露到羊毛党的狂欢,无时无刻不在考验着每一个行业、每一个Web利用的平安水位。 为了让承载数据传输的网络平台更加安全可靠,作为互联网入口的CDN始终一直夯实平安上的能力,朝着企业级的平安减速架构进行技术演进。本文将带你理解:为了帮忙企业应答愈发严厉的网络安全态势,CDN能够做什么? 咱们先来看看常见的网络攻击危险类型有哪些?一、DDoS攻打DDoS攻打类型已有20多年历史,它攻击方式简略间接,通过伪造报文间接拥塞企业上联带宽。随着IoT等终端设备增多,网络攻击量也愈发厉害。依据阿里云平安核心报告显示,在2019年,超过100G的攻打曾经比拟常见,而且超过 500G 的攻打也曾经成为常态。一旦企业服务面临这种状况,上联带宽被打满,失常申请无奈承接,就会导致企业服务无奈失常提供线上服务。因而,进攻DDoS 攻打仍然是企业首先要投入去应答的问题。 二、CC攻打相比于四层DDoS攻打伪造报文,CC攻打通过向受益的服务器发送大量申请来耗尽服务器的资源宝库CPU、内存等。常见的形式是拜访须要服务器进行数据库查问的相干申请,这种状况想服务器负载以及资源耗费会很快飙升,导致服务器响应变慢甚至不可用。 三、Web攻打常见的 Web 攻打包含SQL 注入、跨站脚本攻打XSS、跨站申请伪造CSRF 等。与DDoS和CC以大量报文发动的攻打相比,Web 攻打次要是利用 Web 设计的破绽达到攻打的指标。一旦攻击行为施行胜利,要么网站的数据库内容泄露,或者网页被挂马。数据库内容泄露重大影响企业的数据安全,网页被挂马会影响企业网站的平安形象以及被搜索引擎降权等。 四、歹意爬虫依据阿里云平安核心的报告数据显示,2019年,歹意爬虫在房产、交通、游戏、电商、资讯论坛等几个行业中的占比都超过50%。歹意爬虫通过去爬取网站外围的内容,比方电商的价格信息等,对信息进行窃取,同时也减轻服务器的累赘。 五、劫持篡改劫持和篡改比拟常见,当网站被第三方劫持后,流量会被引流到其余网站上,导致网站的用户拜访流量缩小,用户散失。同时,对于传媒、政务网站来说,内容被篡改会引发极大的政策危险。 应答网络安全问题,CDN都能够做什么呢?一、源站爱护因为CDN的分布式架构,用户通过拜访就近边缘节点获取内容,通过这样的跳板,无效地暗藏源站IP,从而合成源站的拜访压力。当大规模歹意攻打来袭时,边缘点节能够做为第一道防线进行防护,大大扩散攻打强度,即便是针对动静内容的的歹意申请,阿里云CDN的智能调度零碎还能够卸载源站压力,保护零碎安稳。 二、防篡改能力阿里云CDN提供企业级全链路HTTPS+节点内容防篡改能力,保障客户从源站到客户端全链路的传输平安。在链路传输层面,通过HTTPS协定保障链接不可被两头源劫持,在节点上能够对源站文件进行一致性验证,如果发现内容不统一会将内容删除,从新回源拉取,如果内容统一才会进行散发。整套解决方案可能在源站、链路端、CDN节点、客户端全链路保障内容的安全性,提供更高的平安传输保障。 三、拜访和认证平安阿里云CDN能够通过配置拜访的referer、User-Agent以及IP黑白名单等多种形式,来对访问者身份进行辨认和过滤,从而限度资源被拜访的状况;并且设置鉴权Key对URL进行加密实现高级防盗链,爱护源站资源。同时通过构建IP信用库,增强对黑名单IP的拜访限度。 除了根底防护,怎么构建更多层次的纵深防护?除此之外,面对愈发严厉的网络安全态势,为了应答平安危险,企业在关注线上业务的晦涩、稳固的同时,也要构建多层次纵深防护体系,在网络层、传输层、应用层等多层次构建防护能力,同时在应用层,对于不同场景要有不同防护措施。 1、在网络层,须要进行DDoS攻打的荡涤和解决,当造成更重大影响须要通过切换IP以及联结黑洞机制去缓解。2、在传输层,相较于传统明文传输,通过https的反对去进行传输层面加密,来防止证书伪造。3、在应用层,须要进行CC防护、防爬、业务防刷的能力部署,避免歹意攻击者刷带宽的状况产生,防止经济和业务损失。贴近源站的防护方面,须要部署WAF和防篡改,对源站和内容进行防护。 通过CDN能够实现根底平安能力,然而面对更多简单的网络攻击,CDN与云平安能力的联合,通过一些简略的额定配置,就能够更好地抵挡外界攻打,保障业务平安安稳。一、联合CDN实现DDoS荡涤阿里云CDN面向企业提供边缘化的应用层DDoS,即CC防护能力,能够通过IP,Header参数,URL参数等多个维度进行监控,并能够通过次数,状态码,申请办法进行数据统计,并最终进行歹意拜访的平安拦挡,无效保障失常业务量的拜访。面对网络层DDoS攻打,CDN产品与DDoS产品能够实现联动,在散发场景中能够通过CDN进行散发,在DDoS攻打产生时,能够探测攻打的区域,并无效的将攻打调度到DDoS进行防护荡涤,无效爱护源站。 通过联动计划能够无效利用海量DDoS荡涤,完满进攻SYN 、ACK 、ICMP 、UDP 、NTP 、SSDP 、DNS 、HTTP 等Flood。同时,基于阿里云飞天平台的计算能力和深度学习算法,智能预判DDoS攻打,平滑切换高防IP,不影响业务运行。 二、CDN联合WAF层层过滤歹意申请CDN联合WAF能力,造成边缘的应用层防护能力,将业务流量进行歹意特色辨认及防护,将失常、平安的流量回源到服务器。防止网站服务器被歹意入侵,保障企业业务的外围数据安全,解决因歹意攻打导致的服务器性能异样问题。CDN WAF提供虚构补丁,针对网站被曝光的最新破绽,最大可能地提供疾速修复规定。并且依靠云平安,疾速的破绽响应速度,及时的破绽修复能力。 Web防护的策略是通过层层过滤,来抵挡歹意申请。第一层是精准访问控制,指具体对http申请的拦挡策略;第二层是区域封禁,对业务有效区或者异样地区申请进行拦挡;第三层IP信用零碎,是利用阿里云多年积攒的互联网IP大数据画像,对歹意行为进行分类并对IP进行拦挡;第四层是黑名单零碎,是对某些UA或者IP进行拦挡,以上四层都属于准确拦挡;第五层是频次管制,对绝对高频且拜访异样IP进行拦挡;第六层是对于互联网机器流量进行治理,阻断歹意爬虫;第七第八层是WAF和源站高级防护,对于源站进行更深层次的防护。 三、基于机器流量治理辨认互联网Bot流量,阻断歹意爬虫机器流量治理部署在边缘,当各种互联网拜访进入CDN边缘节点之后,机器流量管理系统会提取最原始的Client信息,剖析信息计算Client特征值,并与阿里云平安积攒的机器流量特色库进行匹配,最终辨认后果,失常拜访、搜索引擎、商业爬虫这些行为是网站冀望的行为,会被放行,而歹意爬虫会被拦挡。在处理动作上,机器流量治理相比以后常见嵌入在失常页面中的行为,侵入性有所升高,反对绝对平滑的接入。 下图是一个理论的案例,在执行机器流量管理策略的时候,首先会对某域名进行流量剖析,左侧图是针对某域名开启机器流量剖析后,辨认出超过 82% 的申请为歹意爬虫,而后开启拦挡机器流量中的歹意爬虫流量后,如右侧图所示,域名峰值带宽降落超过80%。 综上,基于对纵深防护的了解,阿里云CDN的平安架构是基于CDN分布式节点实现的边缘平安防护机制,同时联动高防荡涤核心进行防护。 如果您对阿里云边缘安全感趣味,能够登录[阿里云官网CDN产品详情页],理解CDN+WAF能力,以及登录[平安减速SCDN产品详情页],理解CDN边缘节点+云平安更多产品能力。具体潜在危险及应答办法近期阿里云CDN团队发现局部域名呈现非正常业务拜访,导致带宽突发,产生了高额账单,给客户带来了高于日常生产金额的账号。为最大水平的保障客户权利。阿里云CDN建议您关注如下应答办法: 潜在危险• 在攻击行为产生的时候,理论耗费了CDN的带宽资源,因而您须要自行承当攻打产生的流量带宽费用。• 客户流量被歹意盗刷而产生突发带宽增高的状况与被攻打的状况相似,因为理论耗费了CDN的带宽资源,所以您须要自行承当攻打产生的流量带宽费用。 应答方法为保障服务的失常运行和防止高额账单的呈现,倡议开启防护性能或者对流量进行相应的治理。如果您的业务有潜在的被攻打危险,倡议开明SCDN产品,SCDN产品有更弱小的整体平安防护能力。具体请参见[平安减速SCDN] 开启防护性能: 开启流量治理: CDN平安直播预报应用CDN的常见误区和问题有哪些?DDoS攻打是如何一步步演进的?CDN中场景更无效的防护形式是什么?阿里云CDN边缘平安体系如何帮忙客户抵挡攻打? 12月17日15:00-15:30,阿里云CDN产品专家彭飞将带来《正确应用CDN 让你躲避平安危险》,点击预约直播:https://yqh.aliyun.com/live/d...

December 3, 2020 · 1 min · jiezi

关于cdn:一文彻底了解-CDN-加速原理

一、什么是 CDNCDN 的全称是(Content Delivery Network),即内容散发网络。其目标是通过在现有的Internet中减少一层新的CACHE(缓存)层,将网站的内容公布到最靠近用户的网络”边缘“的节点,使用户能够就近获得所需的内容,进步用户拜访网站的响应速度。从技术上全面解决因为网络带宽小、用户访问量大、网点散布不均等起因,进步用户拜访网站的响应速度。 简略的说,CDN 的工作原理就是将您源站的资源缓存到位于寰球各地的 CDN 节点上,用户申请资源时,就近返回节点上缓存的资源,而不须要每个用户的申请都回您的源站获取,防止网络拥塞、缓解源站压力,保障用户拜访资源的速度和体验。 CDN 对网络的优化作用次要体现在如下几个方面 解决服务器端的“第一公里”问题缓解甚至打消了不同运营商之间互联的瓶颈造成的影响加重了各省的进口带宽压力缓解了骨干网的压力优化了网上热点内容的散布二、CDN工作原理传统拜访过程由上图可见,用户拜访未应用CDN缓存网站的过程为: 用户输出拜访的域名,操作系统向 LocalDns 查问域名的 ip 地址LocalDns向 ROOT DNS 查问域名的受权服务器(这里假如LocalDns缓存过期)ROOT DNS将域名受权 dns记录回应给 LocalDnsLocalDns 失去域名的受权 dns 记录后,持续向域名受权 dns 查问域名的 ip 地址域名受权 dns 查问域名记录后,回应给 LocalDnsLocalDns 将失去的域名ip地址,回应给 用户端用户失去域名 ip 地址后,拜访站点服务器站点服务器应答申请,将内容返回给客户端CDN 拜访过程 通过上图,咱们能够理解到,应用了CDN缓存后的网站的拜访过程变为: 用户输出拜访的域名,操作系统向 LocalDns 查问域名的ip地址.LocalDns向 ROOT DNS 查问域名的受权服务器(这里假如LocalDns缓存过期)ROOT DNS将域名受权dns记录回应给 LocalDnsLocalDns失去域名的受权dns记录后,持续向域名受权dns查问域名的ip地址域名受权dns 查问域名记录后(个别是CNAME),回应给 LocalDnsLocalDns 失去域名记录后,向智能调度DNS查问域名的ip地址智能调度DNS 依据肯定的算法和策略(比方动态拓扑,容量等),将最适宜的CDN节点ip地址回应给 LocalDnsL-ocalDns 将失去的域名ip地址,回应给 用户端用户失去域名ip地址后,拜访站点服务器CDN 节点服务器应答申请,将内容返回给客户端。(缓存服务器一方面在本地进行保留,以备当前应用,二方面把获取的数据返回给客户端,实现数据服务过程)通过以上的剖析咱们能够失去,为了实现对普通用户通明(应用缓存后用户客户端无需进行任何设置)拜访,须要应用 DNS(域名解析)来疏导用户来拜访 Cache 服务器,以实现通明的减速服务。因为用户拜访网站的第一步就是域名解析,所以通过批改dns来疏导用户拜访是最简略无效的形式。 CDN网络的组成因素对于一般的 Internet 用户,每个 CDN 节点就相当于一个搁置在它四周的网站服务器。 通过对 DNS 的接管,用户的申请被通明地指向离他最近的节点,节点中 CDN 服务器会像网站的原始服务器一样,响应用户的申请。 因为它离用户更近,因此响应工夫必然更快。 从下面图中虚线圈起来的那块,就是 CDN 层,这层是位于用户端和站点服务器之间。 ...

November 3, 2020 · 1 min · jiezi

关于cdn:cdn缓存的html静态页未更新小记

明天遇到一个html动态页面始终不更新的问题,抽空找了下起因。 景象:上线了一个动态页面,强刷、清理浏览器缓存都无奈更新资源。显然不是浏览器的问题,应该是cdn这边的缓存没更新。 https://app.xxx.com.cn/xxx/xxx.html而后给页面加个随机参数就更新了 https://app.xxx.com.cn/xxx/xxx.html?12奇怪的是不加参数仍然是旧内容。比照了两个页面的response header,除了Last-Modified的工夫不一样,其余局部基本相同:此前狐疑cdn只更新了局部机器,然而这两个申请的ip是雷同的,从同一个节点拉取的页面,更新问题能够排除。 在其余设施上测试也是雷同的后果,能够排除本地缓存,网络等起因。 通过下面的测试,失去一些论断:同一个页面带不带query参数,返回的却是不同的内容。为什么是不同的后果?cdn到底更新了没有?根本能确定cdn将这两个链接视为不同的页面,这样能够解释的通:带随机参的页面视为新的页面,cdn没有缓存,从源拉取资源。不带参数的页面仍然是旧资源没有更新。 登录cdn看了域名配置:缓存自动更新工夫是1天,因而缓存没有更新(实际上在上线流程里,公布资源后会强刷该资源缓存,但因为两头呈现问题而跳过了这一步)。然而带参数的url拉到了最新资源,阐明源的资源更新了。 在域名配置里看到‘过滤参数配置’没有关上:官网文档有具体解释:https://cloud.tencent.com/doc...这就解释通了,带参数的url被当做了不同的资源。咱们不须要靠参数辨别不同的资源,因而关上这一项才对。 实际上,不做任何操作,过一天期待资源更新后也会更新。(当然业务没法等1天)或者在治理后盾里手动刷新该url缓存也可。

October 21, 2020 · 1 min · jiezi

关于cdn:Bilibili资深运维工程师DCDN在游戏应用加速中的实践

日前,云栖大会新一代CDN的技术冲破与利用实际专场中,bilibili资深运维工程师李宁进行了《DCDN在游戏利用减速中的实际》主题分享,从bilibili游戏利用CDN的成果和老本动手,深入浅出地分享DCDN全站减速在游戏减速场景中的利用。 bilibili的业务部署架构及CDN的利用bilibili始终以来是作为中国Z世代高度汇集的文化社区而被大家熟知,曾经成为了国内二次元游戏的次要散发渠道和发行方。在公司一直倒退过程中,CDN扮演着不可或缺的角色。 简略的七层利用游戏的部署架构如下图所示,业务的后端以中心化部署的形式齐全暗藏在公共云的网络内,出向网络通过NAT转发,业务的入口只通过公网负载平衡进行裸露,动态资源寄存在对象存储上,而后从用户动动态的申请全副通过CDN进行转发,这样的形式不仅能进行惯例动态资源的缓存减速,也能帮忙暗藏源站,并进行相应的DDoS防护。 李宁介绍到:bilibili对CDN的应用大略分三个阶段,初期业务规模比拟小,次要通过基于云内专线自建代理的形式实现区域减速;随着业务规模减少,运维治理问题和平安问题裸露, bilibili基于不同的缓存策略,在商业动态CDN下来实现动动态申请的散发,尽管解决了自建带来的治理和平安问题,然而也带来了新问题,比方动态CDN两头源大量回源过载、动态CDN链路过长,多级代理导致响应耗时减少等等;直到近两年,市场上呈现了专门针对动静申请减速的产品,在原有CDN功能丰富度晋升的根底上,通过智能路由带来了更好的减速品质晋升。 游戏利用运维工作对CDN的外围诉求在游戏运维的日常工作里常常会遇到以下场景:动态突发流量报备不及时,繁多厂商无奈全副承接,导致业务进退维谷,业务和运维背着炸药包上线;游戏热更中大量的刷新预热需要,带给运维带来沉重的工作;热点游戏海内用户拜访品质如何保障;国内小运营商环境中各种劫持与弱网传输;游戏业务突发式增长对弹性伸缩、疾速交付的挑战等等。 简略总结,业务对运维的需要就是:a) 热点资源、导致流量突发运维须要做好保障b) 保障业务倒退过程中疾速交付、并且保障易用性c) 业务的根底网络链路实现跨境优化d) 要能笼罩国内的小运营商e) 须要有政企关系,具备推动运营商疾速解决问题的能力 基于上述需要综合思考,bilibili抉择应用公共云CDN,而非自建的模式。其业务对云CDN的应用运维有以下诉求:a) 业务接入的时候控制台要快、简略,接口要欠缺、可编程,功能丰富、不反对的性能也要反对定制化b) 产品须要反对主动调度、不便的配置和内容治理,底层要对跨境网络进行优化c) 针对海量的CDN数据有简化剖析的计划,以便数据管理经营d) 要有丰盛的报警指标、在业务报障的时候辅助运维进行决策 bilibili抉择应用阿里云全站减速进行业务散发为了解决以上问题,bilibili应用阿里云全站减速产品反对游戏利用内容的散发减速。在接入之后,品质有显著的晋升,平响耗时升高了32%,首包的耗时升高了18.6%。同时,当异样产生的时候,CDN告警的收敛聚合,能够与源站监控报警进行比对,用于疾速的排除故障。 全站减速是阿里云自主研发的交融了动静减速和动态减速技术的CDN产品,解决了页面动动态资源混淆、跨运营商、网络不稳固、复线源站、突发流量、网络拥塞等诸多因素导致的响应慢、丢包、服务不稳固的问题,晋升全站性能和用户体验。对于源站的适配,全站减速产品无需对服务器资源进行调整,会智能的辨别动静和动态内容并别离减速,这也是目前比拟适宜游戏利用的减速计划。 全站减速能够提供传输减速、稳固平衡、HTTPS、根底防护和管控灵便五大价值。 传输减速:一站式动态、动静资源拆散,动态资源能够基于遍布寰球的边缘节点缓存进行减速,动静资源利用智能路由、传输协定优化、压缩传输、链路复用等技术实现回源减速;稳固平衡:通过全网节点的负载平衡,以及主备源站、有序回源、源站健康检查等多重策略,确定高并发状况下的业务稳固运行以及减速成果安稳。HTTPS:国内运营商环境简单,网站被劫持,站点内容遭篡改,仅应用HTTP协定传输可能会有用户动静内容泄露危险,须要寻求更平安高效的网络链路和内容散发路径,那么阿里云反对全链路HTTPS平安减速,提供多种证书格局,反对keyless计划,满足客户对于平安拜访的不同场景需要。根底防护:在DCDN之上逐步集成云平安能力,打造边缘平安能力。在更靠近攻打源产生的地位,通过笼罩寰球各地的DCDN边缘节点进行防劫持、防篡改、防DDoS攻打,加重源站压力。管控灵便:基于缓存多源优化,能够管制每个回源量,从而可能对节俭源站的带宽,以此爱护源站,有序回源这一块,当流动突发的时候,DCDN能够通过有序回源的策略来明确哪些申请优先返还源站,哪些能够通过队列的形式来管制源站的回源量,从而能达到稳固平衡的一个成果。 bilibili实践经验针对应用CDN的效率以及老本几大问题,bilibili具备以下实践经验:第一,在交付效率上,bilibili通过gitops加基础设施及代码实现了一套资源编排,CDN也蕴含其中,研发通过抉择CDN的配置模板(比方CDN多线策略,缓存配置模板)生成资源堆栈,再联合流程审批实现分钟级别的资源交付,在交付过程中咱们力求让使用者只做选择题,少做问答题,缩小重复沟通的老本;当然平台也集成了很多的小工具,比方最高频的刷新预热操作,咱们将不同云平台的需要收敛到对立的界面,提供给研发自助进行操作;还有ip归属查问这类小工具,尽量实现研发自助,以缩小沟通晋升人效。第二,针对老本的问题,强调可计价,可度量;在CDN老本优化方面,首先要先晓得钱花到了哪里,通过云计费api拿到实时数据,进行简略地同比环比,对老本突发进行预警,而后人工干预及时止损;第二是花一样的钱做更多的事,通过业务数据压缩以及开启云厂商的智能压缩性能进行技术优化,同时,晋升动态缓存命中率,升高对象存储回源;第三是做一样的事件花更少的钱,就须要更优的计费策略和更优的核算策略。 对将来游戏CDN的思考李宁示意:我了解的运维工作的次要指标之一就是可控,CDN可控就是实现智能调度,将来会围绕着数据治理进行一些尝试: a) 通过第三方拨测、客户端数据上报、业务全链路监测,收集到欠缺的业务数据b) 在此基础上进行多维度的剖析,比方异常情况下,进行多维度的数据关联聚合,缩小多个运维监控组件之间切换排查c) 最终联合大量的人工辅助决策,去实现智能调度

September 27, 2020 · 1 min · jiezi

关于cdn:jsdelivr白嫖备忘

简略用法github仓库里的任意文件,能够间接生成在jsdelivr的对应地址。https://cdn.jsdelivr.net/gh/{GithubID}/{仓库名}@latest/文件/门路对于不常常更新的资源,能够用这种形式,最简略。留神:jsdelivr并不能用于减速仓库公布(releases)中的附件(assets)。 缓存刷新jsdelivr并不能实时刷新缓存,会呈现latest并非最新版的可能性,据说会在24小时内刷新。如需强制刷新,有两种解决方案: jsdelivr提供了强制刷新缓存(Purge Cache)的API,然而为了避免滥用,必须发email申请可在每次更新后,调用Github API生成一个新的release,用这个新的版本号来拜访更新后的文件,就能强制jsdelivr应用新版本了。地址形如:https://cdn.jsdelivr.net/gh/{GithubID}/{仓库名}@v{版本号}/文件/门路缓存限度jsdelivr可缓存的单个文件大小下限是20M 对于跨域jsdelivr主动为缓存资源增加CORS响应头,因而可间接前端跨域拜访 Github的一些限度官网倡议单个仓库小于1G,强烈建议小于5G。单个文件如果大于100M,就须要在git上装插件能力提交,而且有大小和流量限度。Github API收费配额(应用Token):5000次/小时

September 14, 2020 · 1 min · jiezi

关于cdn:云栖大会倒计时8天新一代CDN的技术突破和应用实践专场有什么看点

CDN随同着互联网的倒退成长至今,曾经全面染指互联网信息散发。历经了最后的缓存和动态、动静减速时代,到起初挪动互联网暴发下的挪动利用减速和体验优化时代,再到现在云CDN与边缘计算时代,CDN将企业与指标用户高效连贯,与此同时,一直赋予互联网更智能、更平安、更灵便的价值。 人造生于互联网之上的娱乐、电商、游戏等行业无不在用CDN来晋升散发效率和产品体验。而在今年年初的疫情降临之后,更多传统企业也意识到通过互联网搭建与用户交互的界面的重要性,减速企业在线化、数智化转型的步调。而在此背景下,CDN的要害互联网基础设施能力更加凸显。 每一项热门利用都会带来一轮技术的翻新和反动,在这一轮科技浪潮到来之后,企业在互联网接入层的难题和最大挑战是什么?企业数智化的将来,如何全面减速?在线教育、游戏直播、广电传媒等行业如何构建极速、平安的互联网拜访体验?CDN将如何冲破传统架构,实现技术创新? 这些问题,来2020年云栖大会「新一代CDN的技术冲破和利用实际」专场,泛滥行业先行者、技术专家阿里云的专家们将一一作答。本次专场将聚焦在寰球企业数字化全速重构的趋势之下,阿里云CDN面向行业利用的技术思考,邀请数字娱乐、在线教育、广电传媒等行业技术首领分享,如何使用新一代CDN实现全面减速。专场内容将与9月18日下午13:00登录云栖大会官方网站,敬请期待。

September 9, 2020 · 1 min · jiezi

关于cdn:抗疫复产CDN助企业破局发展

摘要:CDN的工作就是要确保这条“互联网信息高速公路”的顺畅通行,防止因为拥塞而导致出行效率的升高。在抗疫复产的过程中,云计算大放异彩。作为数字经济的流量底座,CDN为互联网海量汹涌的数据内容散发保驾护航。在线教育、近程办公、在线视频、生鲜电商……等等在线场景需要暴发,背地都离不开CDN的反对。 CDN减速服务的运作原理其实并不简单,它是通过在网络各处搁置节点服务器,构建一个智能虚构网络,从而避开影响数据传输速度和稳定性的瓶颈环节,实现内容数据更快、更稳固的传输。 一款性能优异的CDN,可能实时地依据网络流量和各节点的连贯、负载情况以及到用户的间隔和响应工夫等综合信息,将用户的申请从新导向离用户最近的服务节点上。使用户可就近获得所需内容数据,缓解网络拥挤的情况,进步用户拜访网站的响应速度。 对于任何互联网服务来说,用户的稳固、晦涩、高效地应用都是体验的根底。而CDN的工作就是要确保这条“互联网信息高速公路”的顺畅通行,防止因为拥塞而导致出行效率的升高。 CDN六大利用落地场景针对CDN的实际利用,小编在本文将为大家剖析,CDN在当下互联网畛域的六大利用场景落地: 图文社群平台网站从门户时代开始,图文门户就始终都是坚守在互联网一线的服务平台,新浪、网易、搜狐等平台都会每日散发海量的图片及文字信息给到宽广的互联网用户。从博客到论坛,再到贴吧,图文网站作为最早的社群网媒平台,具备用户数量宏大、粘性高、不易转移等特点。所以,用户对图文网站平台的拜访在近几年仍旧很高。 在线视频日前,在北京公布的《传媒蓝皮书:中国传媒产业倒退报告(2019)》中显示,2018年中国在线视频市场规模达到2016.8亿元,同比增长39.1%。随着5G正式商用,将来用户对在线视频的数量和品质需要只会更大。如何在微小流量的涌入下,保障视频不卡顿,成为了CDN服务要害。 短视频平台2017年,短视频平台暴发,为CDN行业带来了微小的红利。至今,短视频平台的日沉闷用户曾经过亿,人均每日刷视频工夫达到一个小时之久。 随着5G时代的到来,5G用户势必逐步减少,将带来更大的流量加持,用户流量老本将继续降落,能够预感,短视频的用户会继续减少。拜访上,海量并发的拜访对源站造成微小的压力,进而导致用户关上视频的耗时长,体验差;传输上,短视频文件较大,在传输链路中,因为网络链路抖动造成用户观看卡顿等状况呈现,这是面向短视频平台的重要阻碍之一。 网游从千禧年网游进入中国开始,热度就居高不下。5G高速、低时延的时代会让游戏进入暴发增长时代,5G大环境下,高并发、用户散布广、网络环境简单多样等因素影响着用户的游戏体验。 此外还有,游戏下载安装包文件大、游戏场景内容多让用户在下载或加载时限度更多。而网友对极致网速、真切画面的谋求会越来越刻薄,尤其在MOBA类游戏流行的当下,游戏的低时延以及稳定性齐全决定了手游以及端游是否胜利在这个争分夺秒的市场存活下来。这时候,CDN的减速成果能保障游戏用户优质稳固的游戏体验。 实时生存利用绝对于5G的倒退,随着数以百亿计的物联网设施连贯,CDN在互联网上所起到的作用将越来越大。智慧城市、智慧家居、物流交通等等理论场景,都离不了CDN,尤其是一些在实时性要求比拟高的,交通、路况、天气等智慧利用。 电商平台电商平台是CDN服务的老话题,往年双11,各家电商平台再一次纷纷刷新了本人的成交额记录。巨额数字的背地意味着电商交易流量的顶峰,要让电商走得更远、更顺畅,也少不了CDN技术的加持。 从以上六大实用场景中,不难看出,将来的CDN市场需求方向——节点更多更边缘,带宽储备更大,监控更精细,平安防护要到位, 以最低的经营费用达到最佳的用户体验。 抉择一个物美价廉的CDN服务成为了企业的应答产品的运行的要害一步。 CDN的要害就是看其部署的寰球减速节点资源;如何将用户申请精准调度最佳服务节点;平台的CDN宽带资源储备是否能保障网络24小时处于最佳运行状态安全可靠是最根本要求构建最佳CDN带宽节点能满足这些要求的,那当属华为云CDN减速服务了。华为云CDN是业界首家与主导运营商合营的CDN厂商,使用创新型经营模式,合规化全国经营,提供高标准服务保障,并通过继续的技术创新能力为CDN服务构建了高深的“护城河”,提供优质CDN节点服务,宽泛服务于视频、游戏、电商、金融、医疗、政务等行业畛域,让寰球互联网用户享受极速、晦涩、平安的网络拜访体验。 与主导运营商合营海量节点:通过整合运营商网内优质大带宽资源,大城市本地本网优质带宽中转,寰球领有2500多个CDN减速节点,其中国内节点有2000多个,笼罩31省主导运营商,直连43家中小运营商,海内节点有500多个,笼罩东南亚、北美、北欧等70多个国家和地区,节点带宽储备能力超过100 Tbps,反对寰球企业客户精品网络减速服务。 创新型定制建点服务:依靠运营商海量的带宽资源,华为云CDN比业界支流CDN厂商具备人造的资源弹性和劣势,利用这样的资源优势,为行业大客户独创“节点定制”服务,通过定制化的节点服务,将企业内容下沉到间隔用户最近的中央,晋升特定生产群体业务体验。 高性能鲲鹏服务器加持:华为云CDN节点硬件根底基于鲲鹏的物理服务器构建,华为自研鲲鹏芯片更加平安可信,领有自主知识产权,对于政府金融等对自主可控有较高诉求的行业场景具备人造底层技术劣势;依靠鲲鹏芯片人造多核高并发劣势,整机最高128核,并发性能极大晋升;强劲鲲鹏算力和高性能网络当先业界,高内存带宽、高网络带宽,提供更高的并发解决性能;利用鲲鹏服务器高性能、高吞吐、高能效的劣势,能无效施展出硬件大容量缓存的作用,晋升CDN缓存命中率、晋升缓存服务吞吐能力,实现最优效率与命中率,带来更好网络减速成果。 端边云协同网络传输优化:将Overlay、MP-TCP,QUIC、BBR2.0+等多种网络协议及算法利用于CDN网络,晋升带宽利用率,升高网络时延、卡顿率,实现端边云数据高效协同传输,为客户提供低时延、高牢靠的CDN智能减速网络,提供极致用户体验。 哈勃零碎智能监测:对CDN全网的SLA指标、软硬件品质监测,疾速问题定位,并及时修复,保障高效运维,保障全网业务的高可用性指标。华为云CDN运维团队7*24小时服务响应,并且为大客户装备独立团队撑持,多级服务保障体系全面化保障,帮助客户稳固应答业务顶峰。 值得一提的是,在亚太CDN产业联盟主办的2019亚太内容散发大会的“金秒奖”颁奖盛典上,华为云凭借寰球服务能力和产品技术劣势获“最佳CDN带宽节点”荣誉。 当初,抉择华为云CDN正过后!华为云828上云流动正在炽热举办,想理解更多对于华为云CDN减速服务,可返回流动现场一看到底。 点击关注,第一工夫理解华为云陈腐技术~

August 29, 2020 · 1 min · jiezi

关于cdn:全民加速节动态加速在在线教育应用上的最佳实践

全民减速节第三场直播中,阿里云CDN解决方案架构师赫弈《动静减速在在线教育行业的最佳实际》主题分享,针对在线教育业务场景的特色和痛点,介绍阿里云全站减速产品的一些实际。 在线教育行业疾速倒退随着互联网技术疾速倒退、社会对教育器重水平进步、经济程度一直进步,在线教育行业持续增长。数据显示,2020中国在线教育用户规模将达3.09亿人,市场规模将达4538亿元。 在线教育笼罩的年龄段,从幼儿到中小学生到成人教育,从内容来看的话,包含素质教育,像编程、画画,包含像职业培训,包含像一些留学的培训,内容十分多样,利用场景非常宽泛。 谈到行业特点,赫弈认为:阿里云上有很多在线教育的客户,咱们发现在线教育行业的场景个别蕴含大量的图文,音视频的教学内容流传,此外还有教学过程中对交互性要求十分高,同时,它有用户量大、用户散布广等特点。整体来说,在线教育业务场景对交互性和实时性以及业务可用性都比拟敏感。 传统的业务架构,包含单源站这样的接入形式满足不了教育行业需要,没方法做到高牢靠、高交互性的业务需要。 全站减速DCDN的外围能力阿里云全站减速产品,构建于阿里云CDN 根底网络设施之上。阿里云全站减速是基于CDN的2800+寰球节点,130T+带宽储备的基础设施的能力,来保障极速的内容散发成果。同时,全站减速能够实现传输减速,包含像源站的负载平衡、https减速等能力,同时集成阿里云平安防护能力,帮忙客户实现4到7层的安全性保障。通过全站减速,在用户和源站服务之间搭建了一条极速、牢靠、智能、平安的高速铁路。 动静减速在在线教育场景下的利用一、全站减速DCDN晋升语言类客户A用户体验该客户A次要存在以下痛点:老师和学生的登录等信息都属于动静需要,而且对于访问速度的要求很高,拜访成功率要求高,拜访失败间接影响间接支出。 全站减速交融了动静减速和动态减速技术的CDN产品,解决了页面动动态资源混淆、跨运营商、网络不稳固、复线源站、突发流量、网络拥塞等诸多因素导致的响应慢、丢包、服务不稳固的问题,晋升全站性能和用户体验。 针对在线教育业务场景,全站减速次要能够欠缺的寰球笼罩以及长距离传输优化,智能选路保障网络链路传输的过程中有网络抖动、拥塞等状况下能够主动躲避,抉择更优链路。同时,准确的回源监控、云监控等配套应用满足对于客户业务品质的监测和极速解决。此外,专职的DCDN保障团队及时的响应用户的问题和需要。 同时,该客户也存在音讯提早&作业提交失败的状况,复线源站、网络拥塞等,都可能导致上课期间互动音讯提早大和作业提交失败。 全站减速DCDN通过精准智能路由 + 实网络品质实时探测 + 平滑跨网,三大核心技术解决提早问题。其原理是进行继续的网络探测,并基于探测数据生成智能路由,决策哪条路由是不梗塞的、提早比拟低的,通过这些去做决策,实现平滑跨网。 通过DCDN的一些列减速策略,最终该客户实现了三个收益: 体验加强:无效的保障了寰球各地老师和学生的登录成功率和提早 业务高可用:互动音讯、作业提交成功率可用性达99.9+% 灵便平安:接入简略便捷,业务通明转发,同时具备4-7层平安防护能力,解除客户对于DDoS攻打、Web利用攻打的后顾之忧 。 二、全站减速DCDN晋升课外教学网校客户B用户体验某客户B为行业出名网校,采纳“直播+辅导”双师模式,提供小初高全学科课外教学,疫情期间业务爆发式增长。并发用户数增长10倍以上,原有的源站整体不足整体的监控和负载平衡机制、主备源站容灾机制,难以承载微小的突发业务量。同时,在内容散发过程中不足无效的防护机制,具备潜在的平安危险。 阿里云全站减速为客户提供多源主备 +回源负载平衡 + 连贯复用 + 有序回源等产品性能,具体如下: 多源主备:反对多个源站,多源站进行衰弱行查看,checkurl形式和状态码实时监控,帮帮忙客户更好的进行容灾和降级。 负载平衡:帮忙客户自定义源站服务能力,通过更具弹性的服务来适配用户源站带宽、服务器能力等多样化需要。 连贯复用:当CDN服务器去与源站交互时,通过复用TCP层申请,大幅度降低源站QPS耗费。 拥塞管制:灵便的丢包探测重传策略。 用户实在IP透传:返回拜访用户的实在IP,配合源站进行访问控制,实现平安防护。 通过一系列性能,全站减速帮忙该客户在疫情期间安稳度过业务洪峰,为全国中小学生提供了优质的在线教育体验。

August 28, 2020 · 1 min · jiezi

关于cdn:CDN百科11-担心纸质病例被洪水淹没ECSCDNOSS如何助力医疗上云

近日,一则洪水中医护紧急转移病例的新闻在网络上引起热议。因为病区被洪水吞没,医护与后勤、安保一起站在齐大腿深的洪水中,转移患者病例。网友纷纷表示:向所有医护人员致敬,你们辛苦了! (图片摘自网络) 看了这则新闻,置信你肯定非常钦佩医护人员的凶恶和担当,同时也为他们泡在洪水中的双腿而感到疼爱。分析事件的背地,纸质病例的确存在贮存难、转移难的痛点,如何解决这一问题呢?实际上,拥抱“云”正在成为医疗机构最受欢迎的抉择。 继“云挂号”“云问诊”之后,各大医疗机构也在逐步承受“云病案”这种医疗模式。纸质病例存在不便于携带、不利于保留和治理、容易失落的毛病,一旦病例失落,医生无奈全面理解患者既往病史,无奈实现疾速诊断和医治。上云让医疗机构能够拜访和利用比任何时候都多的数据,进步医院在病例治理方面的效率,同时缩小数据受损的可能性。 医疗数据关乎民生,目前很多医疗机构都正在减速互联网医院信息化过程,上线云挂号、在线随访、电子病历等零碎,并利用APP等利用的模式实现患者医疗数据全生命周期的无效治理。那么如何利用互联网基础设施与云计算技术,改善医疗服务、进步医生和患者的体验则至关重要。基于阿里云ECS、CDN和OSS组合的解决方案,能够升高医疗平台自身的数据中心基础设施投入,晋升灵活性,实现海量内容的存储、拜访减速以及老本优化,满足医疗大数据的采集、存储、搜寻、计算和展示各方面须要。 该架构下,将动静资源如Web程序、数据库等寄存在云服务器ECS上。将动态资源如病例图片、音视频、动态脚本等寄存在对象存储OSS上。将OSS作为CDN的源站,通过CDN减速散发,使医生和患者能够通过CDN节点就近取得病例等文件,晋升访问速度。 该架构有什么劣势?升高了Web服务器负载——OSS的资源缓存至就近的CDN节点,通过CDN节点进行散发,缩小源站压力,同时缩短了网络传输间隔,放慢了医患调用病例等文件的速度; 反对海量存储——OSS的存储空间弹性有限扩大,无需思考存储架构降级; 稳固牢靠——弱小的技术保障提供11个9的数据写入可靠性保障,保障失常运行; 老本优化——应用该架构会产生OSS的存储费用、CDN的上行流量费用,以及极少量的回源流量费用,大幅降低成本; 平安防护——CDN联合WAF、高防节点联动、Https全链路传输加密等平安能力,保障患者隐衷数据在传输过程中的安全性 丰盛图片解决能力——OSS提供图片裁剪、旋转、水印、视频截帧等,能够反对更多医疗文件的解决,无需额定的开发成本。 随着云在医疗行业的逐渐浸透,如何打造最适宜医疗机构倒退的解决方案尤为要害。云计算作为各行业数字化转型的基础设施,将施展本身弹性、平安的个性,会联合5G、大数据、人工智能等技术,成为医疗从业者的得力助手,让百姓就医更便捷。

August 21, 2020 · 1 min · jiezi

关于cdn:全站加速在互联网媒体应用上的最佳实践

8月19日,全民减速节第三场直播中,阿里云CDN解决方案架构师拓州进行了《全站减速在媒体服务行业的实际》主题分享,针对互联网媒体服务行业中的特色和痛点,介绍阿里云全站减速产品的利用实际。 互联网媒体服务的特色互联网媒体服务平台个别蕴含海量的图文、音视频文件的上传、分享和流传,具备用户量大、用户散布广、实时性要求高、热点突发的业务特色。 首先是内容流传范围广,对CDN的节点笼罩要求高;第二是实时性,平台十分关注文件上传散发的实时性,对CDN的响应效率有较高要求;第三是突发性,平台个别具备热点、流动所带来的流量激增状况,对带宽等响应资源要求较高,对CDN的资源储备和弹性有肯定要求;第四是业务复杂性高,因为媒体服务类平台覆盖范围宽泛,用户群体十分多样化,不同用户的网络环境参差不齐,这就导致平台对网络传输优化要求较高。 在上述背景下,传统的源站单IP接入模式无奈满足高牢靠、高效率、大并发的业务场景,须要依附DCDN产品解决。 阿里云DCDN技术特点针对媒体服务类平台的痛点,DCDN产品能够在节点笼罩和稳固高效两个方面提供解决方案。 首先,DCDN节点的覆盖范围十分宽泛,在中国内陆就领有超过2300个节点,笼罩31个省级区域,并且大量的节点位于省会等一线城市,也就是网络环境以及品质都比拟好的区域。另外在海内领有超过500多节点,笼罩超过70个国家和区域。 其次,DCDN产品十分稳固高效,基于短缺的节点以及带宽的保障,反对亿级QPS并发,可能提供稳固的减速服务;具备先进的分布式系统架构,可能实现全网的负载平衡,保障节点的可用性;通过优化的传输协定,能够反对HTTP/2高效的传输协定,可能实现疾速稳固的数据传输;另外,DCDN具备精准缓存、高速缓存、高速读写、高效回源以及智能调度的能力,全面保障成果稳固。 DCDN在游戏行业的案例利用一、视频、图片文件上传到源站减速第一个案例是媒体类客户的文件上传到源站场景下,如何进行减速。通常媒体平台的业务场景分为文件生产上传以及文件散发,在文件上传场景下,对网络的环境要求比拟高,会受到公网的稳定以及长传抖动等绝对不可控因素的影响,造成速率慢、传输的成功率低等相干的问题。 在某客户采纳阿里云DCDN上传之后,上传的效率能够晋升超过50%,同时,DCDN反对最大2G文件的上传。如下图所示,某客户通过DCDN减速以及没有通过DCDN减速上传文件的上传速率的比照状况。图中蓝色局部上传速率有超过60%的晋升,能够达到1500kb/s以上,而绿色的未通过DCDN减速的上传速率落在300~500以及500~1000kb的区间内。所以,DCDN对上传速率及用户体验晋升成果非常显著。 二、用户散布及网络环境简单状况下的申请成功率晋升在用户散布及网络环境都比较复杂的状况下,用户申请的失败率比拟高。如下图所示,某客户源站看到的用户申请失败数的统计状况,在没有通过DCDN减速之前,申请失败数更多的落在15~20区间内,通过DCDN产品减速之后,相干的申请失败数能够很显著着落到个位数,相干用户申请的失败率升高超过80%,收益的次要起源是在于DCDN产品具备智能的路由抉择的性能,会实时探测以后网络最优的链路环境,在用户申请的时候给予最优的门路保障,能够晋升DCDN外部链路的稳定性,保障申请的成功率。 三、重大流动,超千万并发申请当媒体服务平台有热点突发以及有重大流动时,源站的负载能力有余,不足以撑持如此大的流动,就可能无奈保障流动顺利进行。此时能够通过接入阿里云DCDN产品,通过动动态的拆散,实现动态文件的缓存,这样能够很大水平升高一部分源站的负载能力,并且动静回源局部,也反对通过HTTP/2协定回源,能够升高源站链接的负载数,晋升链接的复用率,能够很好的解决源站负载能力有余的问题。通过DCDN短缺的冗余资源,能够完满地承接重大的流动。 DCDN更多利用DCDN产品还有很多扩大的利用,次要介绍4个方面。 第一,DCDN反对IP利用减速,这是非规范的HTTP协定用户的层面的一种减速。利用于4层的cell协定服务的场景。当有一些业务在减速的过程中,能够疏忽利用层面,不须要进行利用层面的解决,而只进行网络减速,能够抉择IP利用减速。 第二,DCDN产品反对websocket的协定,在用户到CDN节点以及CDN节点到源站之间建设全双工的通信,能够放弃短暂的链接,这样用户在第二次发动申请的时候,就不须要再次建设链接,能够晋升用户的用户体验。 第三,DCDN反对源站的主动切换,通常的源站会有主备两个原站,当主源站呈现响应以及可用性方面的问题,DCDN实时探测会及时发现异常情况,将有问题的原站进行剔除,申请会拜访到备用的源站,这样能够最大水平地保障用户层面的稳定性。 第四,DCDN反对Ipv6的拜访,目前IPv6曾经笼罩三大运营商,除此以外,阿里的DCDN产品还有更多的相干的利用能够摸索,详情能够登录官网全站减速产品详情理解状况。

August 19, 2020 · 1 min · jiezi

关于cdn:全民加速节全站加速在游戏行业的最佳实践

在全民减速节第二场在线直播课堂中,阿里云CDN解决方案架构师研一进行了《全站减速在游戏行业中的最佳实际》主题分享,针对游戏行业中的一些特点和痛点,介绍阿里云全站减速产品的外围性能以及实现计划。 提起游戏行业,置信大家都不生疏。随着游戏开发者在游戏畛域的产品、技术、资金等方面能力的一直加强,近几年,国内也呈现了越来越多的优质游戏作品,一直地吸引新游戏玩家的退出。特地是智能手机的遍及、5G时代的到来,游戏玩家出现了指数级增长。 游戏行业的典型业务痛点在这样的背景之下,游戏厂商的困扰也随之而来,延时高、登录艰难,频繁掉线影响用户体验等问题越来越突出。与此同时,游戏厂商也面临着后期的IT老本投入老本昂扬,推广期业务突发源站压力大,黑客及其他非法攻打多等等一系列问题。这是整个游戏行业目前面临的挑战。 阿里云CDN服务了寰球30余万客户,也为许多游戏行业客户提供反对,常见的客户问题包含以下几个: 1、今天咱们有个重大的活游戏要开服了,要有200万的量,咱们的源站扛不住,CDN能不能帮忙解决一下呢? 2、咱们的游戏要出海,然而当初次要的游戏服务器在国内,海内的玩家通过国内到海内或国外到国内,整个链路是很长的,能够通过CDN来解决吗? 3、咱们游戏玩家互动音讯传输采纳了WebSocket形式,还有非HTTP/HTTPS等的公有协定,你们能帮忙减速? 4、即有动态文件,又有动静申请资源,想做一下减速,你们能给个解决方案吗? 5、用户的游戏账号被攻打了,业务被黑了,CDN有没有相应的防护计划呢? 这一系列的问题,有些是传统的、规范的CDN解决不了的。游戏行业的迭代十分迅速,那么,如何施展阿里云弱小的基础设施能力,更好地赋能游戏开发者和初创企业,让其专一于游戏设计和用户体验自身,没有后顾之忧,更好地把握机会推广作品呢?基于对行业的洞察和产品技术的延展,阿里云全站减速DCDN产品应运而生,它能够有效应对游戏行业的低延时、强交互、高平安等减速需要。 该如何帮忙游戏企业疾速成长?游戏开发者和初创企业要疾速成长,须要思考到几个阶段的问题: 第一是轻松上阵。在初创阶段,老本的经济非常要害,借助云的按需灵便购买的形式,能够更轻资产的启动经营,无需为源站扩容、减容而放心; 第二是高安全性,游戏行业是黑客攻击的重灾区之一,所以游戏开发者和企业须要分外关注平安能力的建设,借助于CDN笼罩平台、数据、业务的一些边缘防护能力,能够无效避免源站被裸露以及数据被窃取; 第三弹性扩容,当游戏作品面世,通过一系列推广宣传,游戏的主站和利用将迎来流量的爆发式增长,这就须要弹性扩容以及开放式的服务,让资源的获取更加便捷; 第四,体验的好坏决定了玩家的去留,拜访、登录、下载、交易、交互等体验,也是游戏开发者和企业应该重点关注的课题。全站减速=可能满足动静、静态数据的一站式减速散发,确保非标协定可能更好的进行互动、游戏玩家的指令可能更好的可能做好的下发等等,从而晋升整个游戏的用户体验。 全站减速能够为游戏企业做什么?全站减速(Dynamic Route for Content Delivery Network)是阿里云自主研发的交融了动静减速和动态减速技术的CDN产品,解决了页面动动态资源混淆、跨运营商、网络不稳固、复线源站、突发流量、网络拥塞等诸多因素导致的响应慢、丢包、服务不稳固的问题,晋升全站性能和用户体验。 全站减速和CDN的区别 对于源站的适配,全站减速产品无需对服务器资源进行调整,会智能的辨别动静和动态内容并别离减速,这也是目前比拟适宜游戏行业厂家的减速计划。 阿里云全站减速产品,构建于寰球 2800+节点、有SLA保障的CDN根底网络设施之上,在用户和源站服务之间搭建了一条极速、牢靠、智能、平安的高速铁路。针对游戏行业,它能够提供传输减速、稳固平衡、HTTPS、根底防护和管控灵便五大价值。 传输减速:一站式动态、动静资源拆散,动态资源能够基于遍布寰球的边缘节点缓存进行减速,动静资源利用智能路由、传输协定优化、压缩传输、链路复用等技术实现回源减速; 稳固平衡:通过全网节点的负载平衡,以及主备源站、有序回源、源站健康检查等多重策略,确定高并发状况下的业务稳固运行以及减速成果安稳。 HTTPS:国内运营商环境简单,网站被劫持,站点内容遭篡改,仅应用HTTP协定传输可能会有用户动静内容泄露危险,须要寻求更平安高效的网络链路和内容散发路径,那么阿里云反对全链路HTTPS平安减速,提供多种证书格局,反对keyless计划,满足客户对于平安拜访的不同场景需要。 根底防护:在DCDN之上逐步集成云平安能力,打造边缘平安能力。在更靠近攻打源产生的地位,通过笼罩寰球各地的DCDN边缘节点进行防劫持、防篡改、防DDoS攻打,加重源站压力。 管控灵便:基于缓存多源优化,能够管制每个回源量,从而可能对节俭源站的带宽,以此爱护源站,有序回源这一块,当流动突发的时候,DCDN能够通过有序回源的策略来明确哪些申请优先返还源站,哪些能够通过队列的形式来管制源站的回源量,从而能达到稳固平衡的一个成果。 全站减速在游戏行业的技术利用全站减速中的智能路由、IP利用减速和Websocket能力,在游戏行业业务场景中是如何使用解决理论问题的。 一、智能路由游戏网站须要向任何每一位玩家提供性能和体验保障,稳固高效解决高流量负载并提供全天候全网可用性,这样才会使得投放大量金钱广告而来的用户流量得以顺利转化。 绝对于传统CDN,全站减速可能通过智能路由的形式,来解决一个复线源站、突发流量、网络拥塞等状况,所导致的网站页面提早大和内容交互失败,防止在线用户间接放弃拜访网站。 DCDN能够准确的计算每一跳的成果,从而实现精准的智能路由、实时的网络探测、平滑的跨网成果,这样能够保障用户到源站或者用户每一个信息指令可能更好地传递到对方,而不会因为网络拥塞而造成艰难。 二、IP利用减速实际上很多游戏中的业务场景,采纳的都是非规范的HTTP协定,比如说它的信息指令,它的互动信息之间的传输很多都是非HTTP申请的,特地是在四层公有协定服务场景下,传统的CDN的计划是没方法解决的问题。 全站减速DCDN通过提供网络传输的减速,升高服务的提早和晋升拜访的可用性,通过四层协定的减速实现接入和传输,针对整个游戏场景,解决其非凡场景下的一些公有协定的传输,让业务可能通明的转发,无任何的侵入。 三、WebSocketWebSocket是基于TCP的一种新的网络协议,实现了浏览器与服务器全双工(full-duplex)通信,容许服务器被动发送信息给客户端。在WebSocket中,浏览器和服务器只须要实现一次握手,两者之间创立持久性的连贯,进行双向数据传输,客户端和服务器之间的数据交换变得更加简略高效。它是在游戏行业中被常常用到做一些信息互动的的一种协定。 、传统CDN产品没有方法针对这种协定做减速,阿里云全站减速反对整个全链路传输。有以下几个劣势,第一是实现小Header传输,相互沟通的Header十分小,只有2Bytes左右;第二服务器不再被动接管到浏览器申请之后返回数据,而是有新数据时就被动推送给浏览器。第三,WebSocket协定能更好的节俭服务器资源和带宽,并且可能更实时地进行通信。 利用案例在游戏客户理论应用全站减速的过程中,能够分为动态、动静两个典型场景下的减速,这里分享一个客户的减速成果: 首先,客户源站无需把动静内容和动态内容做一个拆分,DCDN基于对动态内容的缓存作用,来保障就近拜访,或者将动态文件通过刷新或预热的形式,把资源实时的推送到用户就近节点,从而晋升整个链路拜访成果。数据结果显示:动态内容的减速成果大概能够晋升100~300%;对于动静资源,通过智能路由、传输协定的公有协定的优化,可能达到很好的一个减速成果,这边也提到有30%~60%的成果。 第二个客户案例是某游戏行业客户,他的痛点波及游戏动静指令的提早、游戏流畅性差、玩家互动信息提早、黑客攻击危险等几个方面, 阿里云DCDN产品通过优质的资源节点笼罩、智能路由及自主研发的公有传输协定帮忙该游戏客户解决第一公里拜访问题,升高网络提早,晋升玩家体验。基于传输层的优化技术,无效兼容各类下层协定,不局限于 http/https, 包含 websocket 以及其余传输层及以上协定,反对客户各种游戏业务平台零碎的利用的减速,加强玩家游戏互动体验。应用阿里云DCDN产品后,所有对源站的攻打及非法受权行为都将被阿里云DCDN减速节点拦挡,反对4-7层平安防护能力,解决了客户对于DDoS攻打、Web利用攻打的后顾之忧。通过上述产品计划的利用,该客户的游戏互动音讯明显改善,玩家满意度也失去相应晋升。同时,基于阿里云DCDN产品,客户也实现了源站BGP缓存复线资源,老本节俭50%+。

August 13, 2020 · 1 min · jiezi

关于cdn:解读CDN的应用场景与产品价值

8月12日,全民减速节第二次直播中,阿里云CDN产品专家寒丰进行了《阿里云CDN产品解读》的主题分享,从CDN的趋势、变迁、价值三个方面来论述思考,并对阿里云CDN产品的业务架构和价值进行解读。 当下,互联网的应用服务曾经深刻到公众生存的各个环节,线上流量的竞争曾经成为了企业须要抢占的重要洼地。中国互联网信息中心公布的第45次《中国互联网倒退统计报告》显示,以后超过99%的用户都是应用手机接入互联网,其中,APP分类占比的数据显示,在挪动利用规模排行前四的APP类型包含游戏、日常工具、电子商务、生存服务类,这四大类就曾经占据了57.9%,剩下的40%包含了像社交、教育等,这组数据也进一步验证阐明了挪动互联跟公众生存的非亲非故。 在《中国互联网倒退统计报告》中,有一组数据资料显示:从2018年到2019年,网页总数是呈增长趋势的,动静网页的增长率是大于整体网页增长率,同时,上面还有一个数据是均匀每个页面的字节数在在增长,反映到理论业务中,就是用户对智能的要求会更高,对于交互性实时性诉求更重,同时对整体的服务质量也要求也高了。动静交互的权重在一直地减少,用户交互体验成为越来越重要的环节。 如何进步用户的交互?CDN起到至关重要的作用。CDN绝大部分的能力是进步整个用户的交互晦涩度,为终端的体验带来一个比拟好的晋升。 CDN服务的典型场景CDN服务的几个典型场景如下: 首先,图文音视频基本上存在于所有的互联网业务之中,比方网站上的图片、短视频、长视频等,这些是互联网中比拟常见的一种业务场景。 第二,边缘交互。比拟常见的是边缘卸载,把加密的一些能力在CDN边缘做下沉,缩小核心的耗费,升高核心老本的一个这种大量的投入,缩小资源的节约,进步核心的资源的利用率。 第三,动静交互,当有些内容无奈在边缘解决,这时候就波及到边缘去跟核心做交互,这种就是典型的动静交互的业务场景,须要把终端的用户信息和核心的用户信息进行实时的交互,并且可能反馈到给到终端用户。 第四,各个企业的业务场景不同,它有一些不是非标准化的协定的话,也须要在互联网中去散发,晋升整个业务的交互性,这也须要CDN具备可能去反对非标业务的能力。 阿里云CDN产品发展史阿里云CDN产品正式商用的是在2014年,它是发祥于淘宝自建CDN,在外部应用成熟之后才走向市场的。在2015年,阿里云CDN的用户规模冲破了10万,产品能力受到市场的认可。同时,在2015年,CDN在数据传输平安上进行了布局和冲破。 随着互联网内容状态和交互状态的演进,动静交互要求一直变高,比方电子商务购物过程中的领取登陆类的场景诉求变大,在2016年,阿里云CDN对外开始提供动静交互的服务,帮忙客户进步整个用户交互体验,同年,阿里云CDN也凋谢了局部寰球的服务能力,发展了全球化布局。 在2017年,基于很多客户并没有去把业务内容拆分得很细的状况,CDN须要为他提供一站式的动动态内容减速服务,阿里云CDN衍生出全站减速产品,为了在整个的服务经营体系过程中,更好的去提供业务决策,也推出实时数据分析,让数据价值失去更好体现。 在2018年,阿里云CDN上线反对了iPv6,并且在一些新的协定,如QUIC的反对上进行了技术尝试。 在2019年,阿里云CDN进一步开释边缘算力,公布了ER产品,让企业用户可能在CDN边缘节点下来执行本人的程序,让用户去自定义业务。 阿里云CDN产品业务架构图自从阿里云CDN商业化至今,始终在进行场景化的摸索,致力于笼罩到上述用户的全业务场景。上文所述的整个互联网业务的典型利用场景,反馈到CDN之上的直观感知就是业务的变动,不同的业务其实有不同的流量带宽的体现。 阿里云CDN以场景为导向,为用户提供最适宜的产品服务能力,在资源基座层面,能够提供多变灵便多变、弹性的资源,来应答业务需要;在行业差异化诉求层面,比方金融政务、传统企业、传媒、教育、游戏、医疗等等行业,有对于安全性、数据散发性等不同级别的要求,阿里云CDN能够依据边缘散发、减速传输、平安防护、自定义服务、性能优化、动静选路、iPv6、视频解决、边缘脚本、数据分析等等不同的产品能力进行组合,为行业提供差异化的产品计划。 阿里云CDN次要有三大产品价值第一, 灵便阿里云寰球2800+节点,笼罩了70多个国家和地区,领有13OTb带宽储备。从覆盖率和节点数来看,产品更加靠近用户的终端,对于减速网络的灵便度和切换度至关重要。从带宽的储备来看,如此短缺的带宽储备也能够及时、无效地应答业务的突发。 第二, 疾速便捷阿里云CDN产品能够在控制台下来实现自助开启。用户业务的开明、接入和应用的话,全自动自主操作,不须要其余的第三方的染指。真正的即开即用,在整个管制台上,用户也能够去依据业务诉求去开启和敞开,可能很疾速的去反映到业务上。 第三, 个性化企业业务是具备多样性的,须要依据他的业务本身状况来实现一些自定义的服务能力,甚至于说在依据他的具体的业务场景去制订它的业务状态,这在阿里云CDN产品上能够实现。比方自定义同步,这齐全能够通过CDN控制台去疾速的自助实现。 如何在边缘节点中去实现业务价值晋升?基于遍布寰球的边缘节点资源,如何充沛开释技术能力和算力,帮忙客户晋升价值是阿里云CDN始终在思考的方向。阿里云CDN通过可条件化、可编程化和可边缘化,基于业务多样性下的差异化服务能力,把业务与性能晋升互相交融,实现交互体验的服务效力的最大化。在寰球一体化的背景下,让客户依据本人的业务去建设逻辑、去差异化解决,实现业务收效最大化。 对于一些老旧的业务,客户如果改变核心架构,可能要投入大量的老本和工夫周期,而在CDN侧进行边缘优化,让边缘承载更多的核心的服务能力,让更个性化的一种这种服务的话,更贴近于本人的业务,即可达到成果最佳。

August 12, 2020 · 1 min · jiezi

关于cdn:解读CDN的应用场景与产品价值

8月12日,全民减速节第二次直播中,阿里云CDN产品专家寒丰进行了《阿里云CDN产品解读》的主题分享,从CDN的趋势、变迁、价值三个方面来论述思考,并对阿里云CDN产品的业务架构和价值进行解读。 当下,互联网的应用服务曾经深刻到公众生存的各个环节,线上流量的竞争曾经成为了企业须要抢占的重要洼地。中国互联网信息中心公布的第45次《中国互联网倒退统计报告》显示,以后超过99%的用户都是应用手机接入互联网,其中,APP分类占比的数据显示,在挪动利用规模排行前四的APP类型包含游戏、日常工具、电子商务、生存服务类,这四大类就曾经占据了57.9%,剩下的40%包含了像社交、教育等,这组数据也进一步验证阐明了挪动互联跟公众生存的非亲非故。 在《中国互联网倒退统计报告》中,有一组数据资料显示:从2018年到2019年,网页总数是呈增长趋势的,动静网页的增长率是大于整体网页增长率,同时,上面还有一个数据是均匀每个页面的字节数在在增长,反映到理论业务中,就是用户对智能的要求会更高,对于交互性实时性诉求更重,同时对整体的服务质量也要求也高了。动静交互的权重在一直地减少,用户交互体验成为越来越重要的环节。 如何进步用户的交互?CDN起到至关重要的作用。CDN绝大部分的能力是进步整个用户的交互晦涩度,为终端的体验带来一个比拟好的晋升。 CDN服务的典型场景CDN服务的几个典型场景如下: 首先,图文音视频基本上存在于所有的互联网业务之中,比方网站上的图片、短视频、长视频等,这些是互联网中比拟常见的一种业务场景。 第二,边缘交互。比拟常见的是边缘卸载,把加密的一些能力在CDN边缘做下沉,缩小核心的耗费,升高核心老本的一个这种大量的投入,缩小资源的节约,进步核心的资源的利用率。 第三,动静交互,当有些内容无奈在边缘解决,这时候就波及到边缘去跟核心做交互,这种就是典型的动静交互的业务场景,须要把终端的用户信息和核心的用户信息进行实时的交互,并且可能反馈到给到终端用户。 第四,各个企业的业务场景不同,它有一些不是非标准化的协定的话,也须要在互联网中去散发,晋升整个业务的交互性,这也须要CDN具备可能去反对非标业务的能力。 阿里云CDN产品发展史阿里云CDN产品正式商用的是在2014年,它是发祥于淘宝自建CDN,在外部应用成熟之后才走向市场的。在2015年,阿里云CDN的用户规模冲破了10万,产品能力受到市场的认可。同时,在2015年,CDN在数据传输平安上进行了布局和冲破。 随着互联网内容状态和交互状态的演进,动静交互要求一直变高,比方电子商务购物过程中的领取登陆类的场景诉求变大,在2016年,阿里云CDN对外开始提供动静交互的服务,帮忙客户进步整个用户交互体验,同年,阿里云CDN也凋谢了局部寰球的服务能力,发展了全球化布局。 在2017年,基于很多客户并没有去把业务内容拆分得很细的状况,CDN须要为他提供一站式的动动态内容减速服务,阿里云CDN衍生出全站减速产品,为了在整个的服务经营体系过程中,更好的去提供业务决策,也推出实时数据分析,让数据价值失去更好体现。 在2018年,阿里云CDN上线反对了iPv6,并且在一些新的协定,如QUIC的反对上进行了技术尝试。 在2019年,阿里云CDN进一步开释边缘算力,公布了ER产品,让企业用户可能在CDN边缘节点下来执行本人的程序,让用户去自定义业务。 阿里云CDN产品业务架构图自从阿里云CDN商业化至今,始终在进行场景化的摸索,致力于笼罩到上述用户的全业务场景。上文所述的整个互联网业务的典型利用场景,反馈到CDN之上的直观感知就是业务的变动,不同的业务其实有不同的流量带宽的体现。 阿里云CDN以场景为导向,为用户提供最适宜的产品服务能力,在资源基座层面,能够提供多变灵便多变、弹性的资源,来应答业务需要;在行业差异化诉求层面,比方金融政务、传统企业、传媒、教育、游戏、医疗等等行业,有对于安全性、数据散发性等不同级别的要求,阿里云CDN能够依据边缘散发、减速传输、平安防护、自定义服务、性能优化、动静选路、iPv6、视频解决、边缘脚本、数据分析等等不同的产品能力进行组合,为行业提供差异化的产品计划。 阿里云CDN次要有三大产品价值第一, 灵便阿里云寰球2800+节点,笼罩了70多个国家和地区,领有13OTb带宽储备。从覆盖率和节点数来看,产品更加靠近用户的终端,对于减速网络的灵便度和切换度至关重要。从带宽的储备来看,如此短缺的带宽储备也能够及时、无效地应答业务的突发。 第二, 疾速便捷阿里云CDN产品能够在控制台下来实现自助开启。用户业务的开明、接入和应用的话,全自动自主操作,不须要其余的第三方的染指。真正的即开即用,在整个管制台上,用户也能够去依据业务诉求去开启和敞开,可能很疾速的去反映到业务上。 第三, 个性化企业业务是具备多样性的,须要依据他的业务本身状况来实现一些自定义的服务能力,甚至于说在依据他的具体的业务场景去制订它的业务状态,这在阿里云CDN产品上能够实现。比方自定义同步,这齐全能够通过CDN控制台去疾速的自助实现。 如何在边缘节点中去实现业务价值晋升?基于遍布寰球的边缘节点资源,如何充沛开释技术能力和算力,帮忙客户晋升价值是阿里云CDN始终在思考的方向。阿里云CDN通过可条件化、可编程化和可边缘化,基于业务多样性下的差异化服务能力,把业务与性能晋升互相交融,实现交互体验的服务效力的最大化。在寰球一体化的背景下,让客户依据本人的业务去建设逻辑、去差异化解决,实现业务收效最大化。 对于一些老旧的业务,客户如果改变核心架构,可能要投入大量的老本和工夫周期,而在CDN侧进行边缘优化,让边缘承载更多的核心的服务能力,让更个性化的一种这种服务的话,更贴近于本人的业务,即可达到成果最佳。

August 12, 2020 · 1 min · jiezi

关于cdn:CDN百科10快速上手DCDN全站加速最新配置与购买优惠教程

8月6日,阿里云全民减速节第一场直播中,阿里云高级技术专家原丘在线分享了《疾速上手阿里云DCDN全站减速》,帮忙用户晋升对DCDN产品的全面认知和应用体验。 全站减速是什么?全站减速是阿里云自主研发的交融了动静减速和动态减速的CDN产品,能够一站式应答页面动动态资源混淆、跨运营商、网络不稳固、复线源站、突发流量、网络拥塞等一系列因素,优化和解决拜访响应慢、丢包、服务不稳固等问题,从而晋升整个网站利用的性能和用户体验。 下图为CDN和全站减速的比照,在反对资源类型上,CDN仅反对动态内容,而全站减速更加宽泛,蕴含了动静减速;减速形式上,CDN是遵循就近拜访的准则,缩短资源和用户之间的间隔,而动静内容没方法提前缓存在边缘节点上,所以是穿透全网的整个网络链路层面的减速,DCDN能够通过智能路由、协定优化等技术寻找最优门路,快速访问服务器源站获取内容;在源站适配上,因为个别用户去应用CDN的时候,都须要做动静拆散,把动静申请剥离进去,做动静的域名,用源站去承载流量,而后动态的资源做另一个域名,交给CDN。这就须要用户对本人源站的资源清晰的梳理,然而对中小客户或者初创网站来说,可能对资源内容的布局还不是特地欠缺,另外对政企类利用来说,个别须要整站的减速,同样会产生困扰,这种状况应用DCDN就比拟不便了。 为什么要应用全站减速?传统的CDN的现状是:通过把内容放在边缘节点进行散发来晋升效率,而后并不是所有内容都能够在边缘节点缓存的,因为缓存都是有容量的,必定有一部分冷的文件,或者是说缓存率比拟低的内容,可能会回源。为了尽量的缩小申请间接回到源站,CDN会进行多级的回源层,去兜住从边缘节点过去的一些流量,来进步命中率,晋升服务质量。同时,回源节点和边缘节点的区域规定比拟固定,个别在间隔较近,要防止流量通过较长的链路能力达到回源层去把数据拉取到。 那么对于动静内容就存在比拟多的问题了,比方:非HTTP和HTTPS的公有协定,像其实传统的CDN其实是服务不了的;像web服务中的websocket、API接口或POST等交互类申请,对实时性要求比拟高,对品质比拟敏感的这种这种服务,传统CDN体系架构下,人造的对全网穿透的流量模式不能提供很好的服务。另外不少客户的动静内容跟动态内容混在一起,没有做很好的动静拆散,在根底CDN上服务,会导致整体的服务质量受到肯定影响。 这些状况就比拟实用阿里云全站减速产品了。 全站减速的外围原理全站减速的外围原理次要分了两大块,一个是节点层,一个是一个管制层,节点层能够类比在SDWAN中的数据面,而路由决策则是管制面,其中整个传输网络的建设是通过探测和路由计算来实现的。边缘节点则保障了用户最初一公里用能够最疾速的接入,优化建联和握手的工夫。 当申请进入网络中之后,边缘节点跟外部的整张大网、源站之间,通过探测去实时的发现整个网络当中最优的链路,基于这个探测数据后果,通过路由算法和根底数据的剖析和决策,最终会在整个网络外面去高效迭代出最优的传输链路,当链路遭逢流量汇聚的状况,链路抉择也会实现流量和品质等多重因素之下的均衡。 全站减速的利用场景全站减速典型的业务场景包含社交利用、在线教育、游戏和页面减速。 社交利用业务场景中蕴含了API的拜访、大流量视频的上传等等,对于可用性、减速性能的要求比拟高。在该场景下,DCDN能够进行动静内容减速,同时在局部高频的交互场景也会用到WebSocket协定,改善图片与视频流畅性、互动性以及突发热点状况下的稳定性。 在线教育包含了在线课堂、一对一的小班课等状态,对于可用性要求十分的刻薄,因为无论源站还是两头链路的异样都会导致课程中断,体验受损;在重试和故障复原的状况下,也会有更加灵活的要求。通过阿里云DCDN来进行动静内容散发,一些高频交互的场景能够用到DCDN中的WebSocket能力,晋升动静响应体验。 网页游戏和手游场景中常见的就是弹幕,DCDN的websocket能力能够提供弹幕等数据的交互,满足对实时性要求更高的业务需要。 页面减速,次要蕴含企业的主站官网等整站减速需要,其中动静内容都是混合的,客户更须要一站式减速的产品,无需去做配置,让DCDN去均衡动静和动态的两种资源的这种服务质量。 减速成果理论的客户第三方监测数据显示:DCDN与未应用DCDN间接应用BGP服务进行成果比照时,国内业务在开启DCDN之后,整体的总下载工夫晋升大略是在30%以上。 DCDN全站减速配置流程上面介绍DCDN产品如何疾速上手。 一、登录阿里云官网,进入全站减速产品详情页,点击实现开明。 二、增加域名新增域名的流程与CDN差异不是很大,输出减速域名,填写源站信息。端口默认填写80和443。如果用户想设置回源follow客户端协定,须要配80端口,当用户抉择443时,DCDN逻辑会强制应用443去回源。当用户不进行配置源站客户端的状况下,DCDN会依据用户配的端口来去决定回源用什么协定。在减速区域中,能够抉择中国、寰球(蕴含国内和海内)和纯海内的场景。 三、配置CNAME当新创建实现之后,则须要配置CNAME,用户须要做的是把CNAME在DNS的管理系统外面,去进行一个失常的解析。 其中要留神几个事件,第一,回源配置中的动态协定跟踪回源,因为动静和动态在全站减速畛域外面是两种减速的类型,默认在这个页面上用户点击动态协定跟踪回源的时候,是当一个动态的内容要回源的时候,应该遵循什么样的协定,能够开启依据客户端的协定来进行回源。默认动态内容也是依照端口,当用户不开启的状况下,依照用户配置的80或者443去抉择回源用什么协定。 第二,动动态减速规定,当用户第一次注册实现之后,全站减速DCDN会给你增加一些动态的文件类型,默认就这些会被认为是动态的,当然后续能够自行批改、勾选和删除。这个性能能够不便整站减速的客户,缩小配置步骤。 第三,在动动态减速规定中的协定追随回源与CDN是有区别的,协定追随回源是指追随客户端的HTTPS来进行回源,当用户强制用HTTP的时候,须要端口是80的,也就是说源站如果用户配置了443,再配置协定追随回源和HTTP其实都是有效的。目前如果用户源站配置的是一个非80和443的的非凡端口,目前默认是用HTTP的,HTTPS是须要提工单进行配置。 四、websocket配置websocket只有一个配置——回源批改选项,点开之后它有两个局部能够批改,一个叫回源协定,回源协定默认为HTTP,用户能够自行配置追随和HTTPS。 另一个是心跳工夫,websocket须要用户通过客户端的心跳工夫来去放弃整个链路的存活,以后DCDN默认的是60秒,当用户在60秒以内没有数据交互(包含心跳保活包在内),那么DCDN会超时断开连接。所以用户须要依据业务的心跳包发送距离,来设置websocket的心跳工夫,来防止因为长时间无数据交互导致DCDN产生断连。 来全民减速节,购买CDN更划算本次全民减速节,阿里云CDN诚意满满,为用户设置了多重优惠。 第一重:流动期间,用户能够支付流动专属的9850元代金券,当订单金额满足条件即可享受满减。 第二重:爆款产品,CDN/全站减速流量包50TB,流动期间仅需4999元每年。 第三重:新客户专项优惠,500GB 49.9元/年,1TB 99元/年,5TB 499元/年和10TB 999元/年。 第四重,除了上述优惠,其余规格的产品套餐,在全民减速节期间也提供特惠,上行流量包购买有效期1年9折特惠,有效期1个月8.5折特惠。另外,动态https申请数包和动静申请数包9折特惠。 登录阿里云官网搜寻全民减速节,观看直播回放,理解流动详情。

August 7, 2020 · 1 min · jiezi

关于cdn:漫画解读唐僧师徒是如何用CDN神力修复雷音寺官网的

阿里云CDN全民减速节流动炽热启动,爆款产品限时优惠,还有9850元的代金券收费支付,感兴趣的用户能够搜寻中转!在全民减速节期间,阿里云CDN也推出系列直播课程,包含《CDN最全省心选购指南》、《CDN疾速上手指南》、《CDN产品与技术揭秘》、《CDN四大场景最佳实际》等,心愿通过分享积攒多年的教训、饱经实战测验的解决方案和最佳实际,来帮忙用户解决应用CDN过程中最受关注的问题,欢送大家在全民减速节流动页面预约观看!

July 27, 2020 · 1 min · jiezi

关于cdn:漫画解读唐僧师徒是如何用CDN神力修复雷音寺官网的

阿里云CDN全民减速节流动炽热启动,爆款产品限时优惠,还有9850元的代金券收费支付,感兴趣的用户能够搜寻中转!在全民减速节期间,阿里云CDN也推出系列直播课程,包含《CDN最全省心选购指南》、《CDN疾速上手指南》、《CDN产品与技术揭秘》、《CDN四大场景最佳实际》等,心愿通过分享积攒多年的教训、饱经实战测验的解决方案和最佳实际,来帮忙用户解决应用CDN过程中最受关注的问题,欢送大家在全民减速节流动页面预约观看!

July 27, 2020 · 1 min · jiezi

关于cdn:CDN百科第七期-关于CDN的原理术语和应用场景那些事

简介: 对于CDN,想必你肯定看过很多官网的解释。明天,CDN百科第七期,将用一篇3844字的文章,来带你理解CDN的诞生、术语、原理、特色以及利用场景,看完这篇文章,置信你将会对CDN这项互联网基础设施有更加透彻的理解。 对于CDN,想必你肯定看过很多官网的解释。明天,CDN百科第七期,将用一篇3844字的文章,来带你理解CDN的诞生、术语、原理、特色以及利用场景,看完这篇文章,置信你将会对CDN这项互联网基础设施有更加透彻的理解。 CDN的全称是Content Delivery Network,即内容散发网络。它是构建在现有网络根底之上的智能虚构网络,依附部署在各地的边缘服务器,通过核心平台的负载平衡、内容散发、调度等功能模块,使用户就近获取所需内容,升高网络拥塞,进步用户拜访响应速度和命中率。 简略来说,CDN就是为了网络内容访问速度“更快“而生的。那么现在的网络自身四通八达,为什么还须要CDN呢? 一、为什么须要CDN?举个简略的例子,假如咱们疏忽网络传输的损耗、设施延时,网络传输速度靠近光速,是30万公里每秒,从东京到美国硅谷的间隔大略为1万公里,也就是说,如果你的服务器在东京,你上传了一张很小的图片,美国用户拜访至多须要60毫秒。而且,这只是实践数据,事实世界中,网络环境是十分复杂的,跨地区、跨运营商、网络拥塞、抖动等问题,都会千里之行;始于足下,使得延时成倍增加,还有可能拜访失败,最终影响拜访体验。 CDN的呈现,正是为了解决这个问题。咱们将这张图片散发并缓存在美国的CDN节点之上,美国用户就无需从东京获取数据,间接从就近的美国本地CDN节点获取到图片,这大大节俭了传输工夫,晋升拜访效率。CDN的节点通常会遍布寰球,源站的文件会被被缓存到世界各地,这样寰球用户都能够实现快速访问。 它有点像散布于各地的仓储物流点,很多品牌会事后在仓储物流点储备一些爆款商品(动态文件应用CDN进行缓存),当用户从电商平台下单购买货物的时候(用户发动申请),平台依据用户的播种地址就近匹配到最近的仓储物流点并间接进行派货(就近散发),让用户以最快的速度拿到快递包裹(散发的内容)。咱们能够用理论的生存教训来做个比照,如果从江浙沪包邮区寄给杭州的用户,个别第二天就能到,如果是从北京、深圳发货,个别须要2-3天! 这就是CDN的缘起。简略来说,它就是一个分布式的缓存服务器,次要作用就是尽可能减少资源在转发、传输、链路抖动等状况下的时延,保障信息的连贯与极速。当下,咱们生存在互联网世界,视频和直播在数据上有微小的吞吐量,CDN扮演着护航者和减速者的角色,更疾速、稳固地将信息触达每一个用户。 二、CDN的工作原理上面,咱们来进一步理解下CDN的工作原理。首先,对于CDN的那些名词,须要扫个盲 Origin Server源站:做 CDN 之前的客户真正的服务器。 User:访问者,也就是要拜访网站的网民。 Last Mile:最初一公里,也就是网民到他所拜访到的 CDN 服务器之间的门路。 域名:域名是Internet网络上的一个服务器或一个网络系统的名字,全世界,没有反复的域名。 CNAME记录:它是一个别名记录( Canonical Name );当 DNS 零碎在查问 CNAME 右面的名称的时候,都会转向 CNAME 右面的名称再进行查问,始终追踪到最初的 PTR 或 A 名称,胜利查问后才会做出回应,否则失败。 CNAME域名:CDN的域名减速须要用到CNAME记录,在阿里云控制台配置实现CDN减速后,您会失去一个减速后的域名,称之为CNAME域名(该域名肯定是.kunlun.com), 用户须要将本人的域名作CNAME指向这个.kunlun.com的域名后,域名解析的工作就正式转向阿里云,该域名所有的申请都将转向阿里云CDN的节点。 DNS:DNS即Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络能够辨认的ip地址。人们习惯记忆域名,但机器间相互只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析须要由专门的域名解析服务器来实现,整个过程是主动进行的。比方:上网时输出的www.baidu.com会主动转换成为220.181.112.143 边缘节点:也称CDN节点、Cache节点等;是绝对于网络的简单构造而提出的一个概念,指间隔最终用户接入具备较少的中间环节的网络节点,对最终接入用户有较好的响应能力和连贯速度。其作用是将访问量较大的网页内容和对象保留在服务器前端的专用cache设施上,以此来进步网站拜访的速度和品质。 Cache:cache高速缓冲存储器一种非凡的存储器子系统,其中复制了频繁应用的数据以利于快速访问。存储器的高速缓冲存储器存储了频繁拜访的RAM地位的内容及这些数据项的存储地址。当处理器援用存储器中的某地址时,高速缓冲存储器便查看是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保留该地址,则进行惯例的存储器拜访。因为高速缓冲存储器总是比主RAM存储器速度快,所以当RAM的访问速度低于微处理器的速度时,常应用高速缓冲存储器。 接下来是CDN的工作原理,最简略的CDN网络由一个DNS服务器和几台缓存服务器组成,如下图所示: ①当用户点击网站页面上的内容URL,通过本地DNS零碎解析,DNS零碎会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。 ②CDN的DNS服务器将CDN的全局负载平衡设施IP地址返回用户。 ③用户向CDN的全局负载平衡设施发动内容URL拜访申请。 ④CDN全局负载平衡设施依据用户IP地址,以及用户申请的内容URL,抉择一台用户所属区域的区域负载平衡设施,通知用户向这台设施发动申请。 ⑤区域负载平衡设施会为用户抉择一台适合的缓存服务器提供服务,抉择的根据包含:依据用户IP地址,判断哪一台服务器距用户最近;依据用户所申请的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查问各个服务器以后的负载状况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合剖析之后,区域负载平衡设施会向全局负载平衡设施返回一台缓存服务器的IP地址。 ⑥全局负载平衡设施把服务器的IP地址返回给用户。 ⑦用户向缓存服务器发动申请,缓存服务器响应用户申请,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域平衡设施仍然将它调配给了用户,那么这台服务器就要向它的上一级缓存服务器申请内容,直至追溯到网站的源服务器将内容拉到本地。 三、CDN的关键技术组件看似简单宏大的CDN零碎,其中有几个关键技术组件:调度、缓存和平安。 1、 调度是 CDN 中的重中之重,流量接入、流量牵引、抉择适合的 CDN 节点服务器等工作,都是在调度环节实现的。具体调度的解释,能够参考阿里云高级技术专家白金撰写的《CDN 之我见》系列一:原理篇(由来、调度) 2、 缓存也叫 Cache,是 CDN 畛域最重要的一个组成部分,对于动态内容散发,大至视频点播、文件下载,小至 html 页面、jpg/gif/png 图片、css/js 等,都能够缓存到本地,最终用户(网民)拜访时,不用回到原始服务器拿取数据,从而节俭了工夫、升高了源站服务器的网络带宽收入和负载。对于 CDN 来说,每台 Cache 机器每天的申请量是非常惊人的,磁盘上所存储的内容量也多得可怕,十几块 TB 级的硬盘被塞满数据也是很失常的事件,因而当一个申请到来时,能迅速检索出磁盘上的文件并读取、吐给最终用户成了一件很重要的事件。具体的缓存,能够参考阿里云高级技术专家白金撰写的《CDN 之我见》系列二:原理篇(缓存、平安) ...

July 24, 2020 · 1 min · jiezi

关于cdn:CDN百科第七期-关于CDN的原理术语和应用场景那些事

对于CDN,想必你肯定看过很多官网的解释。明天,CDN百科第七期,将用一篇3844字的文章,来带你理解CDN的诞生、术语、原理、特色以及利用场景,看完这篇文章,置信你将会对CDN这项互联网基础设施有更加透彻的理解。 CDN的全称是Content Delivery Network,即内容散发网络。它是构建在现有网络根底之上的智能虚构网络,依附部署在各地的边缘服务器,通过核心平台的负载平衡、内容散发、调度等功能模块,使用户就近获取所需内容,升高网络拥塞,进步用户拜访响应速度和命中率。 简略来说,CDN就是为了网络内容访问速度“更快“而生的。那么现在的网络自身四通八达,为什么还须要CDN呢? 一、为什么须要CDN?举个简略的例子,假如咱们疏忽网络传输的损耗、设施延时,网络传输速度靠近光速,是30万公里每秒,从东京到美国硅谷的间隔大略为1万公里,也就是说,如果你的服务器在东京,你上传了一张很小的图片,美国用户拜访至多须要60毫秒。而且,这只是实践数据,事实世界中,网络环境是十分复杂的,跨地区、跨运营商、网络拥塞、抖动等问题,都会千里之行;始于足下,使得延时成倍增加,还有可能拜访失败,最终影响拜访体验。 CDN的呈现,正是为了解决这个问题。咱们将这张图片散发并缓存在美国的CDN节点之上,美国用户就无需从东京获取数据,间接从就近的美国本地CDN节点获取到图片,这大大节俭了传输工夫,晋升拜访效率。CDN的节点通常会遍布寰球,源站的文件会被被缓存到世界各地,这样寰球用户都能够实现快速访问。 它有点像散布于各地的仓储物流点,很多品牌会事后在仓储物流点储备一些爆款商品(动态文件应用CDN进行缓存),当用户从电商平台下单购买货物的时候(用户发动申请),平台依据用户的播种地址就近匹配到最近的仓储物流点并间接进行派货(就近散发),让用户以最快的速度拿到快递包裹(散发的内容)。咱们能够用理论的生存教训来做个比照,如果从江浙沪包邮区寄给杭州的用户,个别第二天就能到,如果是从北京、深圳发货,个别须要2-3天! 这就是CDN的缘起。简略来说,它就是一个分布式的缓存服务器,次要作用就是尽可能减少资源在转发、传输、链路抖动等状况下的时延,保障信息的连贯与极速。当下,咱们生存在互联网世界,视频和直播在数据上有微小的吞吐量,CDN扮演着护航者和减速者的角色,更疾速、稳固地将信息触达每一个用户。 二、CDN的工作原理上面,咱们来进一步理解下CDN的工作原理。首先,对于CDN的那些名词,须要扫个盲 Origin Server源站:做 CDN 之前的客户真正的服务器。 User:访问者,也就是要拜访网站的网民。 Last Mile:最初一公里,也就是网民到他所拜访到的 CDN 服务器之间的门路。 域名:域名是Internet网络上的一个服务器或一个网络系统的名字,全世界,没有反复的域名。 CNAME记录:它是一个别名记录( Canonical Name );当 DNS 零碎在查问 CNAME 右面的名称的时候,都会转向 CNAME 右面的名称再进行查问,始终追踪到最初的 PTR 或 A 名称,胜利查问后才会做出回应,否则失败。 CNAME域名:CDN的域名减速须要用到CNAME记录,在阿里云控制台配置实现CDN减速后,您会失去一个减速后的域名,称之为CNAME域名(该域名肯定是.kunlun.com), 用户须要将本人的域名作CNAME指向这个.kunlun.com的域名后,域名解析的工作就正式转向阿里云,该域名所有的申请都将转向阿里云CDN的节点。 DNS:DNS即Domain Name System,是域名解析服务的意思。它在互联网的作用是:把域名转换成为网络能够辨认的ip地址。人们习惯记忆域名,但机器间相互只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析须要由专门的域名解析服务器来实现,整个过程是主动进行的。比方:上网时输出的www.baidu.com会主动转换成为220.181.112.143 边缘节点:也称CDN节点、Cache节点等;是绝对于网络的简单构造而提出的一个概念,指间隔最终用户接入具备较少的中间环节的网络节点,对最终接入用户有较好的响应能力和连贯速度。其作用是将访问量较大的网页内容和对象保留在服务器前端的专用cache设施上,以此来进步网站拜访的速度和品质。 Cache:cache高速缓冲存储器一种非凡的存储器子系统,其中复制了频繁应用的数据以利于快速访问。存储器的高速缓冲存储器存储了频繁拜访的RAM地位的内容及这些数据项的存储地址。当处理器援用存储器中的某地址时,高速缓冲存储器便查看是否存有该地址。如果存有该地址,则将数据返回处理器;如果没有保留该地址,则进行惯例的存储器拜访。因为高速缓冲存储器总是比主RAM存储器速度快,所以当RAM的访问速度低于微处理器的速度时,常应用高速缓冲存储器。 接下来是CDN的工作原理,最简略的CDN网络由一个DNS服务器和几台缓存服务器组成,如下图所示: ①当用户点击网站页面上的内容URL,通过本地DNS零碎解析,DNS零碎会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。 ②CDN的DNS服务器将CDN的全局负载平衡设施IP地址返回用户。 ③用户向CDN的全局负载平衡设施发动内容URL拜访申请。 ④CDN全局负载平衡设施依据用户IP地址,以及用户申请的内容URL,抉择一台用户所属区域的区域负载平衡设施,通知用户向这台设施发动申请。 ⑤区域负载平衡设施会为用户抉择一台适合的缓存服务器提供服务,抉择的根据包含:依据用户IP地址,判断哪一台服务器距用户最近;依据用户所申请的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查问各个服务器以后的负载状况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合剖析之后,区域负载平衡设施会向全局负载平衡设施返回一台缓存服务器的IP地址。 ⑥全局负载平衡设施把服务器的IP地址返回给用户。 ⑦用户向缓存服务器发动申请,缓存服务器响应用户申请,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域平衡设施仍然将它调配给了用户,那么这台服务器就要向它的上一级缓存服务器申请内容,直至追溯到网站的源服务器将内容拉到本地。 三、CDN的关键技术组件看似简单宏大的CDN零碎,其中有几个关键技术组件:调度、缓存和平安。 1、 调度是 CDN 中的重中之重,流量接入、流量牵引、抉择适合的 CDN 节点服务器等工作,都是在调度环节实现的。具体调度的解释,能够参考阿里云高级技术专家白金撰写的《CDN 之我见》系列一:原理篇(由来、调度) 2、 缓存也叫 Cache,是 CDN 畛域最重要的一个组成部分,对于动态内容散发,大至视频点播、文件下载,小至 html 页面、jpg/gif/png 图片、css/js 等,都能够缓存到本地,最终用户(网民)拜访时,不用回到原始服务器拿取数据,从而节俭了工夫、升高了源站服务器的网络带宽收入和负载。对于 CDN 来说,每台 Cache 机器每天的申请量是非常惊人的,磁盘上所存储的内容量也多得可怕,十几块 TB 级的硬盘被塞满数据也是很失常的事件,因而当一个申请到来时,能迅速检索出磁盘上的文件并读取、吐给最终用户成了一件很重要的事件。具体的缓存,能够参考阿里云高级技术专家白金撰写的《CDN 之我见》系列二:原理篇(缓存、平安) ...

July 24, 2020 · 1 min · jiezi

国内9大免费CDN汇总除了加速乐你还用过哪些

1.加速乐:免费CDN、平均加速200%以上,访问量提升19%,是唯一一款使用前后不会影响网站访问及搜索引擎排名的免费CDN平台。笔者使用加速乐有4年了,原来和百度合作的便一直使用至今,强烈推荐。 2.nsPod:国内老牌DNS服务商,为各类网站提供高质量的电信、网通、教育网双线或者三线智能DNS免费解析,提高网站解析速度。 3.DnsPod国际版:国内的IP是不可以在国际版注册的,需要有国外的IP才行,或者把浏览器语言改为英语才能正常访问。 4.Webluker:一站式运维服务综合平台,虽然整个技术团队比较年轻,但是已经成长为国内最知名的CDN服务商了。不过好东西是要收费的! 5.360网站卫士:功能很多,有免费CDN、CC保护、网站防火墙、DDOS保护、页面压缩、访问加速等功能。 6.安全宝Mini CDN:新兴的免费CDN服务,注册门槛较高,使用评测少,不好鉴别网站加速好坏。 7.CloudFlare:比较早的免费CDN服务了,如果你的网站访问用户是全世界的,那么CloudFlare一定适合你。 8.云盾:新兴力量、后起之秀,”云盾”安全防护系统为网站、在线应用提供一站式的安全加速解决方案。 9.Nimsoft:国外CDN,在全球数十个国家有服务器(包括在中国),放在国外的网站推荐使用,并提供网站检测工具。

July 3, 2020 · 1 min · jiezi

如何利用全站加速提升网站加速性能和用户体验

随着网络技术的发展,越来越多的应用基于互联网发布,再好的应用,如果打开速度慢,10个用户会有9个用户选择离开,相关统计数据显示,每增加0.1秒的加载延迟,将会导致客户活跃度下降1%。在目前获客成本较高,用户面临众多可选项的情况下,如何提高用户访问的体验,给用户留下良好的第一印象,提高ROI,是所有开发互联网应用的企业都关注的核心问题。 影响应用资源加载的因素很多,服务器性能、网络传输质量、网站出口带宽状况、DNS解析时间、网页内容大小、终端用户网络质量等,在云计算技术高度发达的今天,并非每一个环节的优化都需要企业自己造轮子,更为便捷可行的选择是:借助云服务商提供的相应加速服务来优化企业的应用,可以实现更低的成本、更敏捷快速的建设、更强壮和高性能的服务,用来取代传统的用昂贵的成本购买大量服务器、带宽做自建的模式。 标准CDN服务所擅长加速的内容是静态内容,如文件、图片、视频等,通过CDN的缓存策略来缓存并实现加速。但互联网上的应用复杂,源站往往也会有很多经常变化的内容---动态内容,如用户登录、内容搜索、视频弹幕、直播评论、购物交易、股票行情、体育实况等,很多时候这些应用没有做动静分离设计和动静内容分别处理,这也造成很多应用即使采用了标准CDN服务,却没有达到很好的加速效果,因为动态部分内容的加速性能并没有得到很好的优化。 对应上叙的情况,我们推荐使用阿里云全站加速产品,阿里云全站加速产品是阿里云自主研发的融合了动态加速技术和静态加速技术的CDN产品,可以很好的解决页面动静态资源混合、跨运营商、网络不稳定、单线源站、突发流量、网络拥塞等诸多因素导致的响应慢、丢包、服务不稳定的问题,全面提升全站性能和用户体验。 阿里云全站加速产品可以有效提升静态、动态内容的加速效果。下面的图我们可以具体看下,使用全站加速产品前后的效果对比。从实际的测试结果图中可以看到使用全站加速前,无论访问效率,还是节点加速效果,都较未使用前有了明显的提升。 那阿里云全站加速怎么样才能够实现以上的效果呢?主要通过以下四个方面完成: 第一、全球覆盖的加速节点 阿里云在全球有2800+节点,这些节点涵盖了中国国内、欧洲、美洲、亚洲、非洲等全世界的大部分区域,同时这些节点都是互联了当地最核心的运营商网络,阿里云全站加速可以保证全球用户都能够找到离他最近的、访问质量最好的和用户接入网络运营商相对应的加速节点。 第二、全球智能调度系统 在上面我们讲到了覆盖,只有覆盖还是不够的,还需要把用户调度到对应的最合理的节点,这个环节就非常取决于调度的IP库的完善性和准确性。阿里云全球智能调度系统结合阿里整体庞大的用户基础(淘宝、天猫、优酷等),基于这些用户基础可以打造非常详尽、精准的用户IP库,可以有效保证用户接入匹配的高准确度。 第三、智能自适应缓存 业界一般对于全站加速的场景,需要客户手动配置动静态内容,来让CDN平台执行动态和静态两种加速模式。但是很多网站特别是中小客户,动静态内容区分不是很清晰,不便于做动静态的区分。全站加速推出的动静态智能自适应功能,可以让客户不再需要繁琐配置动静态内容区分,全站加速会自动的分析和识别请求和响应特征,智能的对访问的内容进行动静态分类,让可以缓存的静态内容避免了动态化访问源站,从而降低了回源带宽、回源时间而提升了性能。当然,阿里云全站加速平台也支持客户通过自定义的方案,很方便的自行定义实动静态内容加速规则。 此外,针对静态内容,阿里云全站加速还可以通过智能压缩功,自动对静态文件进行Gzip压缩,以及通过页面优化,对当前域名下所有HTML页面中冗余的注释和重复的空白符进行优化,以减小传输文件大小,减少流量支出和提升加速分发效率。 第四、智能路由 对于无法缓存或者不允许缓存的内容,最核心的处理逻辑是实现路径加速,阿里云的路径加速是通过智能路由来实现的,在广泛覆盖的节点之间,通过实时探测通信网络质量,并根据探测的质量,进行路径的有效分析,同时结合阿里达摩院的最佳数据计算模型,提供一条从用户的接入点到源站之间一个最优的路径,实现最好的加速效果。 阿里云全站加速产品除了通过以上的策略提供了优秀的加速效果之外,还提供了下面的相关的功能模块让客户的服务可以变得更灵活和更健壮,以及还提供了更广泛和新颖的加速模式: 第一、源站策略 1、智能回源策略 全站加速除了提供最优链路回源来保证最好的服务质量的同时,还提供了丰富的回源策略管理。很多客户的场景处于安全和自身业务的需求,往往会有一些复杂的策略需要CDN来适配。目前全站加速在回源策略方面具有丰富的功能。 可以根据特定的URL回不同的源站;可以根据区分国内和海外客户,进行分国内和海外回源;可以根据网民的DNS情况,回对应区域的源站;2、灵活回源配置和重试容灾策略 阿里云全站加速提供了灵活的回源配置策略,可以根据需求配置多主源(可设置不同的回源权重)、主备源,源站可以使用IP和域名。 网络情况瞬息万变,连接抖动和拥堵时常发生,在长链路传输时,情况会更加严峻。通常情况下在回源阶段,因为链路的加长,整体的网络可控性降低。经常会遇到回源节点的机房网络有问题,回源的某条运营商链路断了等等相关的问题。 结合阿里云全站加速的提供了多种回源配置以及回源重试容灾策略,可以避免单源站问题、源站单IP问题、源站偶发不通等问题,给业务提供更健壮的一个支撑。 3、 WaitingRoom回源方案 在回源的时候,有的时候会面临一种场景,就是某次突发活动请求的压力非常大,举个例子,比如在春运火车票购票的时候,请求的压力可能是平时压力的上百倍,短时间之内没有办法扩容这么大倍数能力的源站来解决请求问题的(短时间内扩容源站上百倍的能力,会面临到很大的成本压力以及很长的时间周期问题)。针对上面这种场景,全站加速提供了WaitingRoom解决方案,可以灵活根据请求的URL、配置的回源比例、排队时长,实现突发情况下有序的回源,保证源站服务稳定性。 第二、全链路https加速 我们知道HTTP协议以明文方式发送内容,不提供任何方式的数据加密。HTTPS协议是以安全为目标的HTTP通道, HTTPS提供了身份验证与加密通讯方法,被广泛用于网上安全敏感的通讯,例如交易支付、金融应用、API接口、政务信息等。 通过阿里云全站加速的控制台,可快速开启HTTPS协议,实现客户端和全站加速之间请求的HTTPS加密,保障数据传输的安全性,防止HTTP明文传输中的被窃听、篡改、冒充和劫持风险。 目前主流浏览器已将HTTP协议标识为不安全,若坚持使用HTTP协议,除了安全会埋下隐患外,终端客户在访问网站时出现的不安全标识,也将影响访问。 第三、WebSocket加速 WebSocket协议是基于TCP的一种新的网络协议。实现了浏览器与服务器全双工(full-duplex)通信,允许服务器主动发送信息给客户端。在WebSocket中,浏览器和服务器只需要完成一次握手,两者之间创建持久性的连接,进行双向数据传输,客户端和服务器之间的数据交换变得更加简单高效。 阿里云的全站加速产品也提供了对应的Websocket加速模式,通过阿里云全站加速的Websocket, 可在视频弹幕、在线教育笔记大纲等信息推送、股票、金融产品实时报价、体育实况更新、视频会议和聊天、基于位置的应用等场景中使用,能偶更好的节省服务器资源和带宽,并且能够更实时高效地进行通讯。 第四、IP应用加速 IP应用加速旨在提供非标准HTTP协议用户,特别是四层私有协议服务场景下,如金融类、游戏类、语音交互类等客户提供网络传输加速,降低服务的延迟和提升访问的可用性。 阿里云IP应用加速可以提供:私有协议做传输控制、智能选路优化网络层、源站透传、业务透明转发无任何侵入,可以通过IP应用加速灵活的使用TCP、UDP等相关协议做业务的传输。 通过以上的了解,我们可以看到通过阿里云全站加速产品,可以有效的提升网站(APP)加速性能和用户体验。在更多的业务搬到线上的时代,全站加速为游戏、在线教育、互联网媒体、金融、商等行业中的数字化应用提供了更优的加速方案。如果您的业务中有全站加速的需求,可以通过阿里云官网、工单、服务群等方式进行了解和反馈。

June 23, 2020 · 1 min · jiezi

CDN百科第六讲-怎样用CDN抵御攻击看完这篇漫画你就懂了

June 22, 2020 · 0 min · jiezi

视频豪横时代应用如何快速构建视频点播能力

QuestMobile2020数据显示,疫情发生以来,每个网民每天花在移动互联网的时长比年初增加了21.5%,对于视频类应用增长尤为突出。而短视频用户规模已超8.5亿,用户使用时长在移动互联网用户使用总时长占比已达10.5%,仅次于社交与长视频。 我们已经到了视频+时代,视频正在成为一个基础的能力:第一:视频已成为信息传输、交互的主流方式,从最早的文字到图片,再到现在的视频,视频和我们学习、生活、工作、娱乐越来越息息相关。 第二:直播带货、短视频、VLog等形式的不断涌现,视频已经从原来在泛娱乐领域里专有的一个特性,向教育,金融,电商、资讯、健康等垂直行业快速全面渗透,视频与业务紧密结合,催生了更好的业务价值传达形式。 第三: 4K、8K、 VR、AR、MR这些交互的不断发展,AI和5G新技术的助推,视频与云计算深度融合,为用户提供了更流畅、更高清、更实时、更真实的体验,用户对于视频的依赖程度不断在加深。 但视频是一个比较特殊的领域,企业想要从零到一搭建视频应用,会面临着一系列挑战:第一前期资源投入大,视频在带宽、流量、存储等计算资源的消耗上,远高于其他的互联网来务,需要投入大量的资金来建设基础设施。 第二技术门槛比较高,分布式的存储、计算,视频编解码、视频加密以及高并发流畅播放,整个流程涉及到多个技术栈,对于团队技术能力要求非常高。 第三个是运营成本比较高,视频是非结构化的数据,面对海量的视频特别是短视频业务,涉及媒资管理、审核、剪辑等多个流程,这些工作都是会比较耗费大量的人力。 那如何解决这些问题?阿里云就推出了视频点播一站式解决解决方案,它集音视频采集辑、上传、自动化转码处理、媒体资源管理、高效云剪辑处理、分发加速、视频播放于一体,综合了对象存储OSS可靠性、视频的规模化处理能力、阿里云AI技术以及强大的CDN分发能力,提供端到端的视频全链路服务。客户在使用时,无需考虑存储以及带宽瓶颈,按需使用,按量付费,是一种非常好的控制成本、快速为应用构建视频点播能力的方式。 阿里云视频点播整体架构 PGC视频、UGC短视频(如抖音、快手的短视频)以及直播录制的文件,这些视频资源上传到云端,在云端完成对视频的处理,包括媒资服务、媒资管理服务、视频内容安全审核、视频转码等环节,然后通过阿里云的CDN进行内容分发,最终在用户终端进行播放,整个服务覆盖了视频从生产到消费的整个生命周期。 视频生产针对需要在应用中添加一个能让用户拍摄、编辑并发布的短视频功能的客户,阿里云 提供产品级的短视频的SDK,通过SDK能够快速实现主流短视频的功能,如录制、导入裁剪、变速处理、美颜,滤镜、转场、拼接等,以及一些高级的功能,如瘦脸大眼、动态贴纸、mv的效果等。由于SDK UI是高度仿真并开源的,客户可根据自己的业务场景非常方便进行定制,快速上线APP。 媒资管理 媒资服务,即为视频内容提供相应的管理和应用,包括媒体文件管理、meta信息管理、数据服务。由于UGC场景产生的内容良莠不齐、需要对UGC的内容进行AI审核,以此来保障内容的合规。点播服务可以提供对黄、反、暴恐、广告内容的快速识别和反馈,降低人工审核的成本和提高审核效率。 视频的DNA也就是视频指纹,即用 DNA的技术来唯一标记一个视频,它不会随视频文件的格式转换、剪辑拼接压缩而发生变化。在短视频场景里,可以利用视频DNA来做原创识别、内容查重、版权保护。比如新上传的内容如果和内容库里版权内容的DNA是匹配的,那么可以标记这个新上传内容,并由客户来决策如何处理这样的内容。 针对应用中内容list封面图片,传统的做法是运营通过人工截图或单独制作,针对海量的短视频内容,这个成本是非常大的,如果没有人工参与,通过系统截图的方式,展现效果是有可能是非常差的(如模糊、非关键内容),在这个看标题看封面的用户惯性下,会降低视频的点击率。视频点播的智能首图技术可通过美学AI模型,选取最具用户吸引力那一帧自动生成封面图片。通过各业务方人工评测劣品率低至0.71%,处理耗时提升6倍。 媒体转码对视频来说在云端最重要的一个环节就是媒体处理,通俗来讲就是视频转码,即将多媒体的数据转换成适合在全平台、各终端播放的媒体格式和适应不同网络条件播放(如蓝光、高清、标清)的规格在转码过程中,以及增加业务所需的水印或视频加密。 在转码服务中,阿里云提供独有的转码技术-窄带高清,窄带高清就是对视频中每个场景、动作、内容、纹理等进行智能分析,保证相同视频画质下,码率更低,以带来存储成本和播放成本的降低,在大规模应用视频场景下,对成本的节约是非常明显的。 消息通知在上传、转码、候视频AI处理、截图等相应服务完成时,视频点播平台都有相应的消息通知,方便业务层即时响应和处理相应的业务流程。 视频分发播放云端处理完成之后,最后的环节是播放。这里的播放包括两层,第一就是视频内容的边缘分发,基于阿里云遍布全球的2800+节点,可以实现视频内容的流畅播放。第二视频点播服务还提供多终端的播放的SDK,除了支持基础的播放能力外,更是深度融合了阿里云视频云的业务,比如支持视频的加密播放,安全(加密)下载、清晰度切换等能力。 以上就是视频点播从生产到消费的全链路服务。在这里面还有一个非常重要的点,就是内容安全。视频点播针对内容安全提供了从访问限制、到播放中心鉴权力、视频加密,安全下载,多维度保障视频访问安全和不被盗播。 整体来看视频点播包括短视频的解决方案,覆盖了端、云、端一体化解决方案,利用这套体系,企业可以简单、低成本、快速搭建视频点播的业务,为业务开拓新的赛道。 以上内容截选自6月10日阿里云视频点播高级产品专家的直播分享,可前往以下链接《视频豪横时代,如何快速构建视频点播能力?》查看完整内容: 关于视频点播如何使用,请点击查看视频详情

June 17, 2020 · 1 min · jiezi

CDN百科第三讲-如果用了云服务器还需要做CDN加速吗

在全站上云的背景下,云计算已经不仅仅是大型互联网公司的独享概念,正在被更多的传统企业、中小企业甚至个人站长所采用。在众多云计算服务中,最常见两个产品就是云服务器和CDN,今天的CDN百科第三讲,就给大家介绍下你关心的问题:如果用了云服务器,还需不需要做CDN加速? 先上结论:云服务器和CDN的业务场景不同,并不能彼此替代,同时,它们可以互相补充已达到提升效率的目的。 相对于传统服务器,云服务器以简单高效、安全可靠、处理能力可弹性伸缩的计算形态为用户提供服务,有助于降低用户的企业IT成本,提升运维效率。云计算发展至今,云服务器作为基础服务受到了众多企业和站长的欢迎,用于部署企业官网网站、资讯门户、电商应用、办公系统等等,承载数据。通常针对不同的业务场景,会有不同规格、价位、性能的云服务器可供选择。 CDN全称Content Delivery Network,即内容分发网络,它是指将源站内容分发至最接近用户的节点服务器,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、音乐、图片、文件、点播、直播、应用程序等内容的加速分发。 我们就拿618促销背后的物流体系来举例,服务器源站就相当于某品牌自己的货仓,而CDN就像分布于各地的仓储物流点。 现在很多品牌都会预先在各地仓储物流点,提前储备一些常用的商品(静态文件使用CDN进行缓存),当用户从电商平台下单购买货物的时候(用户发起请求),平台根据用户的收获地址就近匹配到最近的仓储物流点并直接进行派货(就近分发),让用户以最快的速度拿到快递包裹(分发的内容)。我们可以用实际的生活经验来做个对比,如果从江浙沪包邮区寄给杭州的用户,一般第二天就能到,如果是从北京、深圳发货,一般需要2-3天! 这种方案还能避免所有订单都从单一货仓发货爆仓的风验,当就近的货仓物流比较繁忙时,则智能匹配其它就近的货仓进行分流,可以减少包裹全部由总仓(源站服务器)发货到各地的运输(带宽)成本。另外,采用共享的仓储物流点(CDN)模式也可以完美地根据销售需求来调整仓储规模和方案,避免自建货仓(多地云服务器)后在业务高峰后的资源闲置浪费。 所以,降低延时,提高稳定性,降低带宽成本,弹性灵活,都是使用CDN的好处。除此之外,CDN还可以: 第一,降低服务器带宽压力假如你的服务器同时支持1000人在线,那么当超过1000人访问的时候,你的网站就会出现访问瓶颈,延时、卡顿甚至宕机问题接踵而至。在使用CDN后,CDN可以将网站的静态内容缓存在边缘节点上,这样当用户访问静态资源时候就不用再请求回源服务器了,以此减少服务器的带宽峰值。 第二,保护源站服务器由于CDN的分布式架构,用户通过访问就近边缘节点获取内容,通过这样的跳板,有效地隐藏源站IP,从而分解源站的访问压力。当大规模恶意攻击来袭时,CDN也可以做为第一道防线进行防护,大大分散攻击强度,即使是针对动态内容的的恶意请求,CDN的智能调度系统还可以卸载源站服务器的压力,维护系统平稳。 相信看过这篇文章后,再有人问你:使用云服务器之后到底要不要再用CDN,你应该会有答案了吧。 往期回顾CDN百科第一讲,最近你的APP崩了吗? CDN百科第二讲,假如没用CDN,网络世界会变成什么样? 【CDN百科】专栏中,我们会不断科普CDN知识,解读CDN实践,分享CDN案例,如果你也关注CDN、使用CDN,可以留言回复你关心的话题哦~~

June 5, 2020 · 1 min · jiezi

PCDN路由器就能赚钱-揭秘京东云无线宝背后的黑科技

受疫情影响,今年视频直播、点播等在线视频业务迎来了爆发期,看视频成为人们宅在家中的主要消遣方式之一,由此带来的互联网流量增长大幅增加了对 CDN流量的消耗。传统CDN依赖于运营商、IDC、服务商等多方面因素,成本难以降低。同时,土地、带宽、硬件等成本的上升,进一步提升了CDN价格,这给视频内容服务商的运营成本带来了巨大挑战。 随着路由器、电视盒子、智能电视等互联网终端设备的计算、存储能力不断提升,以及百兆、千兆家庭带宽的普及,利用P2P网络传输大量数据成为可能,由此衍生出了P2P+CDN网络,即PCDN。 传统 CDN 技术在了解 PCDN 前,我们有必要先回顾一下 CDN 技术。CDN 是广泛应用于视频行业的内容分发加速网络,其基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区网络中。在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的缓存服务器上,由缓存服务器直接响应用户需求。 从定义可以看出,CDN 具有两个关键要素:内容存储和分发。内容存储基于缓存服务器,它位于网络的边缘,距最终用户仅有“一跳”之遥。这种技术可以有效解决由于网络带宽小、用户访问量大、网点分布不均等原因造成的用户访问响应速度慢等问题。 但传统 CDN 技术核心仍是依靠集中服务器的架构,在高峰时期对突发流量的适应性、容错性存在一定缺陷。且服务优劣与否直接受制于缓存服务器的数量多少与地区分布,节点建设成为 CDN 厂商的最大成本开支,这些成本最终会分摊到用户身上,导致 CDN 市场价格一直居高不下。 PCDN 技术PCDN 的出现改变了这一现状,在确保服务能力的同时可以大幅降低成本,最近几年开始在技术圈内迅速蹿红。简单来说,PCDN 是一种基于 P2P 技术的内容分发网络。 P2P 就是点对点网络(peer-to-peer),它打破了传统的 Client/Server 架构,强调了去中心化的网络模式,大大提升了资源共享的利用率。但 P2P 网络中的设备通常采用家庭带宽、WiFi、移动网络等网络资源,且受自身质量因素、人为因素影响较多,存在不稳定风险。PCDN在原 CDN 技术平台上,引入了 P2P 技术,可以在最大程度上避免跨区域和跨运营商带来的网络不稳定因素。 PCDN 节点资源一般来自路由器、移动终端等家庭或个人设备,每当这些设备用下行带宽从服务器下载资源的时候,可以顺便把自己的上行带宽贡献出去,这样每一个贡献带宽的设备就成了 CDN 的缓存节点,恰好与 CDN 形成优势互补。相对于厂商自建的 CDN 节点,用户贡献的往往被称为“边缘网络”,利用边缘计算技术,可以打造距离用户最近的边缘计算,推动智能化网络时代的到来。 智能边缘计算新星??? 京东云无线宝——尊享版 京东云无线宝便是一款带有智能边缘计算功能的家用路由器,内置智能加速和边缘计算能力,配备了双核CPU、512MB DDR3超大内存及128G存储空间的超高配置。每个无线宝都将作为边缘计算网络节点,通过边缘计算技术,基于无线宝路由器内置的高速存储芯片和用户闲置的网络资源、计算资源等,节点间会通过热点文件算法匹配等方式,减轻主干网络压力,提升整体网络效力,用户能够通过边缘计算网络得到就近服务。 以视频服务为例:视频内容服务商将生产出的视频上传到网站,再通过 CDN 为源站加速, 无线宝作为 PCDN 边缘节点将缓存 CDN 内容,降低 CDN 使用量。缓存的内容文件通过P2P技术与其他无线宝形成边缘计算节点网络,经共享热点文件的匹配算法,帮助使用无线宝的用户更加智能、快速、便利地享受网络服务,使用户同时进行数据读写、视频观看或文件下载等操作时,网络依然稳定且高速。优化用户上网体验,享受更流畅的视频观看、文件下载等上网功能。 会赚“钱”的路由器使用京东云无线宝智能路由器的用户,在共享闲置资源之余,还可赚积分,免费兑换京豆。你只需将无线宝与无线宝 APP 绑定,并保持在线,共享闲置带宽,即可按照每日贡献获取积分。在无线宝 APP 中可查看积分,并可将积分兑换成京豆。 ...

May 28, 2020 · 1 min · jiezi

2019亚太内容分发大会阿里云获CDN领袖奖技术突破奖

近日,亚太CDN产业联盟主办的2019亚太内容分发大会在上海召开。本次大会以"5G分发"为主题,集结了CDN领域近千名行业领袖、专家参与。在会上,阿里云斩获“CDN领袖奖”、“技术突破奖”两项大奖。 阿里云CDN于2014年正式商业化,在行业率先推出“按需购买、按量付费、一键配置”的云CDN模式,打破传统CDN不透明的市场格局,引领了行业变革。之后,阿里云CDN通过几轮近乎疯狂的降价,腰斩国内CDN价格,释放科技普惠,降低大视频行业准入门槛,一路见证了直播、短视频的井喷式发展。其发展最为迅猛的阶段,增速曾达到传统CDN厂商的20倍。十年期间,阿里云CDN业务实现超1200倍的增长。目前,阿里云CDN在全球部署2800+节点,具备130Tb带宽储备,服务于全球超30万客户,每天为超过百万的域名加速,承接数十亿次的刷新。 依托阿里巴巴丰富的生态系统以及全球覆盖的基础设施网络,阿里云CDN在文娱、电商、金融、体育等众多领域拥有丰富的商业实践。在2018年俄罗斯世界杯期间,阿里云承载全网 70%的流量,支撑优酷单场 2400万人次在线观看。2018年8月,阿里云CDN首次通过低延时直播网络将雅加达亚运会直播送达斐济、柬埔寨、蒙古的转播机构,为亚太地区数亿观众提供更多元的收看方式及体验。在2018年双11期间,阿里云CDN为2500万的观众带来了超高清、零卡顿的观看体验,同时并发保障交易峰值49.1万笔/秒下的图片、视频的正常浏览。作为国内CDN行业的绝对领导者,阿里云聚焦于超低延时、边缘安全、智能中台等领域,不断寻求突破性技术进展。据悉,阿里云CDN已建成从智能运维,实时数据监控、全网动态实施故障感知到智能自修复的全链路智能运营支撑平台。在此基础上,阿里云CDN动作频频。前不久,阿里云发布超低延时直播服务RTS,引领千万级直播场景进入毫秒时代。此后,阿里云将云盾WAF性能注入CDN节点,推出一站式分发+安全解决方案。在7月份的阿里云开发者大会中,阿里云宣布CDN边缘脚本EdgeScript正式公测,帮助开发者生态快速构建CDN个性化业务体系,赢得敏捷的交付收益。随着5G时代的到来,4K/8K、VR/AR、车联网、物联网等低延时、大带宽的应用场景得以快速发展,作为连接的基础,CDN也将进入下一个发展阶段。谈到未来CDN发展之路,阿里云CDN产品负责人张蜀光表示 :”5G 时代CDN从内容分发将演变为价值传递,阿里云正在构建无处不在的边缘PaaS化服务,希望通过超低延时直播系统、可编程CDN、边缘安全、场景化加速解决方案等技术迭代及创新产品服务,让更多企业能够便捷部署稳定、极速、智能、安全的加速服务”。本文作者:樰篱原文链接:https://yq.aliyun.com/article...本文为云栖社区原创内容,未经允许不得转载。

October 9, 2019 · 1 min · jiezi

百度分享不支持HTTPS的解决办法

这两天接入文章页百度分享时发现本地可以显示分享按钮,但是发布到线上之后发现分享按钮不会展示。打开浏览器调试工具发现,HTTPS下的百度分享资源未加载,起初以为是HTTPS站点下面使用的是HTTP协议的链接,但是查看源代码发现是自适应协议的, 所以问题应该是处在百度这里。 打开https://bdimg.share.baidu.com/static/api/js/share.js发现浏览器提示NET::ERR_CERT_COMMON_NAME_INVALID,也就是访问的域名和证书配置的域名不匹配,证书的域名是*.baidu.com,访问的域名是bdimg.share.baidu.com,泛域名是不可以跨级使用的。 虽然是百度的问题,但是咱也不可能要他去改这个分享,所以只能自己来处理了。 可能的处理方案全站使用HTTP,放弃该方案(现在都9012年了,免费证书一大把,基本都是HTTPS站点了)将百度分享的资源打包下来进行部署 部署到自己的服务器(成本低,易迁移,但是服务器带宽是个问题)部署到CDN,本文以七牛为例资源路径百度分享相关JS我已经分享到github了,一键直达仓库 处理过程将百度分享的资源解压到本地使用PHP遍历目录上传到七牛(本文用的SPL进行文件夹遍历)替换使用的百度分享JS路径使用PHP变量目录上传到七牛文件目录如下: |--static(百度分享资源目录)|--DirectorySync.php|--FilterScanner.php|--index.phpDirectorySync.php /** * 目录同步器 * Class DirectorySync * @package sync * @author xialeistudio * @date 2019-07-11 */class DirectorySync{ private $accessKey; private $secretKey; private $bucket; /** * @var Auth */ private $auth; /** * DirectorySync constructor. * @param $accessKey * @param $secretKey * @param $bucket */ public function __construct($accessKey, $secretKey, $bucket) { $this->accessKey = $accessKey; $this->secretKey = $secretKey; $this->bucket = $bucket; $this->auth = new Auth($accessKey, $secretKey); } /** * 同步目录 * ```php * [ * '目录名称' => '七牛keyPrefix' * ] * ``` * @param array $list * @throws \Exception * @author xialeistudio * @date 2019-07-11 */ public function sync(array $list) { $uploader = new UploadManager(); $token = $this->auth->uploadToken($this->bucket); foreach ($list as $path => $keyPrefix) { $scanner = new FilterScanner($path); foreach ($scanner as $filename) { printf("uploading %s \n", $filename); /** @var Error $error */ list($ret, $error) = $uploader->putFile($token, $keyPrefix . $filename, $filename); if (!empty($error)) { printf("uploading %s error: %s\n", $filename, $error->message()); } } } }}FilterScanner.php ...

July 12, 2019 · 2 min · jiezi

小谈CDN回源函数计算的应用场景

CDN团队联合函数计算团队近期推出了一个全新功能,即通过CDN把回源流量指向函数计算进行处理,该功能旨在帮助CDN用户能通过函数计算快速处理和便捷处理回源数据为目的,用户仅仅需要在CDN回源地址填写函数计算的自定义域名即可把请求转发到函数计算进行处理,配置简单,费用低廉,先前CDN回源可以设置几个目的地,例如回源到IP地址、域名或者对象存储OSS,现在新增了一个回源到函数计算的类型,这种类型不同于其他类型,例如CDN回源到ECS某IP上后,ECS需要启一套服务来监听CDN请求,对系统设计要求较高,再比如CDN回源到OSS上,多半只能是一些静态文件,当用户对回源内容进行个性化处理的时候,以上的方式都不够灵活。新增CDN回源函数架构图: 业务流向图可以概述如下: 主打功能:CDN回源数据动态处理CDN请求地址处理拉通CDN请求和多类数据处理对请求地址进行鉴权和跳转场景优势请求链路缩短(减少负载均衡)请求后的弹性扩容对请求地址进行鉴权和跳转技术特点简单,仅需控制台操作配置内置负载均衡和计算弹性扩容,能支持海量并发多种主流语言支持,java,Nodejs,Python,PHP,C#等阿里云集群级别的安全访问控制台上的操作CDN控制台配置: 函数计算控制台配置: 适用场景网站场景用于CDN源站的静态、动态网站页面元数据处理文件处理场景用于CDN回源源站多媒体数据处理,例如文本、图片、视频、音频等。请求分发场景可以通过函数计算把请求做URL地址动态处理后并把请求302分发到其他应用以上各种场景推出,对用户来说有几个显而易见的好处,例如1、节约流量成本,客户通过CDN回源的函数计算走专有网域,会比走公网流量价格更优惠(价格优惠后续公布),2、客户可以很方便的把很多产品串联起来使用,例如通过函数计算能联合多个产品给CDN后的请求提供数据处理,例如新浪微博图片处理(FC+OSS),例如芒果TV的热数据加载等,3、可以做数据处理,也可以做请求分发渠道。相比较ECS,这种方案具备自动弹性伸缩特性,CDN +函数计算 = CDN + 负载均衡+计算,能通过非常优雅的弹性方式来支撑大量CDN请求。4、轻量数据处理程序便捷,5分钟编写一个函数可以灵活处理请求数据,无需维护运行环境,总之是一个很赞的功能,不妨来试用一下~ 本文作者:文意 阅读原文 本文为云栖社区原创内容,未经允许不得转载。

July 5, 2019 · 1 min · jiezi

干货-CDN搭配OSS最佳实践-搭建动静态分离的应用架构

一、传统架构及痛点传统的网站产品应用架构,所有资源部署在应用服务器本地存储或挂载的数据存储区,对于动静态资源不作分离, 产品架构如下图所示: 该架构存在诸多问题: 系统性能会随着系统访问量的增长而受到限制甚至遭遇瓶颈;静态资源访问量巨大时,占用出口带宽,影响动态请求响应;用户请求分散时,回源距离长,影响用户体验(单纯使用CDN仍然需要回源拉取)。二、CDN+OSS架构方案:该架构充分利用到“OSS带宽/流量成本低、独立响应、存储空间无上限”的特点,结合CDN分发网络,实现资源动静分离,支持海量用户访问。 优化后产品架构如下图所示: 1、适用场景静态文件存储量大,文件数量多,文件体积较大,服务器存储空间不够;静态文件访问量大,占用带宽负载或服务器负载,I/O问题导致用户访问卡顿;用户分布较为分散,分布在全国各地、各运营商;对文件下载速度要求较高,且并发下载量高。2、架构描述涉及产品介绍: 对象存储服务(OSS:Object Storage Service)是京东云自主研发的大规模分布式对象存储服务,面向企业和个人开发者提供高可用、低成本、强安全的云端存储服务。您可以实现对数据的统一管理,满足各类存储需求。支持标准的 RESTfulAPI 接口,您只需按实际用量付费,无最低使用限制。支持流式写入和文件写入两种方式。面对冷数据存储的场景,对于那些访问频率比较低,同时对访问速度要求不高的数据,可以将数据以低频访问的方式进行存储,为您保存和备份资料提供了一个海量低价的空间。京东云CDN(Content Delivery Network),基于京东优质网络基础设施和智能云计算技术,向用户提供低成本、高性能、可扩展的互联网内容分发服务。利用广泛的节点覆盖和先进的云调度、云存储技术,将海量内容更快、更可靠地投递给互联网终端用户,降低网站运营成本,提升用户互联网应用体验。京东云 CDN 的前身是服务于京东商城的自建 CDN 平台,历经多年 618 和 11.11等大促业务活动考验,京东云 600+ 节点广泛覆盖于全国各区域和运营商,精选全网优质基础设施,边缘节点覆盖全网、全地域,真正实现就近接流、就近推流。将京东云的对象存储和CDN服务搭配使用,使用京东自建的全网CDN加速节点,为您提供上传下载双向加速,实现全网覆盖、快速高效的内容分发。架构优势: 降低Web/应用服务器负载,静态资源响应压力转移到CDN,避免性能影响;费用最低,OSS的存储费用远低于云主机磁盘费用;超大容量存储空间,大带宽上传通道,无需担心存储空间上限;降低流量费用,正常访问热度情况下,相比直接访问OSS,减少95%回源流量。三、实际案例以一个常见的Web站点为例。www.abc.com是一个新闻门户网站,有500GB的新闻图片、新闻视频、JS文件等静态内容,使用了LAMP架构,目前站点全套架构部署在京东云上。随着用户业务发展,访问量的不断增长,不少用户反映,访问网站的速度越来越慢,图片、视频加载慢,卡顿率高,网站响应慢。客户工程师发现用户上传的图片越来越多,业务高峰期,带宽峰值很高,服务器I/O经常被占满。 对于以上案例我们可以利用以上介绍的OSS+CDN架构对网站进行优化,实现动静分离的产品架构,提升用户访问体验,同时成本可控。 解决方案及步骤如下: 1、对网站应用架构进行整理,区分动态程序部分和静态部分到不同的目录进行管理,建立image、video、js目录,分别放置所有网站图片素材; 2、京东云控制台进入OSS产品,新建一个Bucket。根据云主机所在的区域选择bucket所在区域,权限选择“公共读”,bucket名称与云主机新建的目录的名称对应,如“abc-image-bucket”、“abc-video-bucket”和“abc-js-bucket”; 3、分别绑定域名image.abc.com、video.abc.com、js.abc.com并进行CDN加速。 4、上传文件:提供控制台上传和表单上传两种方式。 控制台上传:可以通过对象存储控制台上传小于1GB 的文件。如您要上传的文件大于1GB,请通过对象存储 API或SDK的方式上传。表单上传:表单上传指用户使用OSS API中的Post Object请求来完成文件的上传,非常适合嵌入在HTML网页中来上传文件;5、修改DNS调度,增加CNAME解析,将原本访问源站的请求,调度到CDN加速域名,以后用户访问您的网站的静态文件就全部通过OSS+CDN的方式访问,不再占用您云主机的资源。 四、典型应用场景新闻门户网站应用分发市场在线音乐、在线K歌视频、短视频(UGC/PGC)电影院线在线教育点击"京东云"了解更多详情

July 3, 2019 · 1 min · jiezi

浅析为何使用融合CDN是大趋势

使用传统CDN的用户遇到的新问题随着云计算时代的快速发展,尤其是流媒体大视频时代的到来,用户在是使用过往CDN节点资源调配将面临很多问题:问题1:流媒体时代不局限于静态内容分发,直播点播等视频服务对时延极其敏感,CDN资源的充足已经不足以解决低时延问题。问题2:传统CDN厂商为了控制成本,在四五线城市的边缘节点都会选择相对便宜的机房,这意味着可靠性和可控性的降低。从容量、服务稳定性、成本等各个方面来评估,传统CDN服务一般会采用一主多备,主要的CDN流量消耗在主方,一但主方有故障,则切到备方。这种模式,进一步导致了使用弊端的产生,即调度空间有限、稳定性差、管理成本高。怎么合理的利用多个CDN厂家资源,智能调度以及如何与业务进行更好地结合,在使用和接入上既可以简单易用又可以支撑业务敏捷开发会是难题。问题3: CDN厂商在不断以技术以及资源手段打破限制,但与此同时,因为竞争,单独CDN厂商的资源相对封闭,对行业发展本身造成了限制和瓶颈。 智能融合CDN 选择以及场景使用中国的CDN发展始于2003年,目前市场上厂家众多,传统CDN厂商和云CDN厂商占了大多数,而智能融合CDN是在近几年才发展出来。融合CDN存在的逻辑就在于能够打破单个CDN厂商的节点资源以及调度能力,突破地域时间以及不同运营商的限制。通过技术手段融合多个CDN厂商资源,或者再结合上自有CDN资源,通过强大的智能调度策略来综合利用上述资源来解决实际场景中的问题。其背后包含着CDN基础设施建设、全链路的网络质量监控、精确智能的调度和高效的容灾、极致的性能体验、高性价比的成本等等,当然最重要的是能够解决实际场景中面临的问题,能够为相关的业务提供帮助,这个就因场景和业务而异了。事实上,智能融合CDN概念的内涵也是在不断变化和演进的,现在意味着更加高效智能的资源利用和调度,全链路端到端的立体品控。近期,P2P、边缘计算等技术也不断的应用到CDN技术中,改变着CDN技术的发展,但始终不变的当然还是解决实际问题,万物为我所用,解决用户、场景实际问题。通常来说,融合CDN带来更加大的带宽容量储备,结合精细化的链路控制、智能的调度、实时的分析和精细运营,可以带来更加优质的服务效果、更加稳定鲁棒的质量和相对降低服务成本。智能融合CDN主要应用于大体量的应用或者平台,或解决自己产品在CDN加速方面对容量、灾备、效果、成本等方面的需求,这些需求往往既丰富又一定复杂度,同时又希望灵活易用的使用和接入方式,或是一些新兴的CDN供应商或者说参与者,凭借自己在品质控制、智能调度、精细运营等方面的优势,借助传统CDN厂商的资源优势,提供更加优质和易用的CDN服务。 如何选择融合CDN厂商选择的三大标准:节点质量、技术指标以及服务支撑事实上用户对CDN的要求并不是资源数量,而是最终使用的稳定性和高性能体现。无论是通过智能调度策略进行CDN资源调配使用户使用无感知,亦或者是在极端灾难情况下做到多CDN灾备,快速切换。还有带宽容量的灵活处理、全链路的监控等都会是选择融合CDN厂商的选择标准。尤其是智能调度系统是否可以数据为基础,从可用性,性能,成本等多个维度对节点进行调度。保证每个终端用户在不同区域均获得最佳的性能。目前国内很多销售员都会拿多节点数来忽悠人,而做CDN的公司大大小小上百家,鱼龙混杂,如果不摸清情况再选择,很容易买到既贵又不好用的CDN服务。谈到技术指标数据,在测试时应该集中关注延时、卡顿率、下载速度、打开速度、宽带冗余提升率等数据。根据全球第三方测速的公司Gomez官方数据显示:当页面加载时间超过7秒后, 50%的用户会选择放弃,且每增加1秒的延迟会带来7%转换率的下降。一般情况,100K的网页素材加载总时间低于250ms算优质CDN。服务支撑的选择也同样重要,在价格、技术指标以及服务模式三者综合比较下选择最高性价比模式。等性能得到保障之后,本身平台的监控水平,DNS调度能力,平台的本身系统的灵活性和可扩展能力都应该受到前期调研的关注。 网易云信全球智能融合CDN方案网易云信全球智能融合CDN方案主要是面向视频云平台的场景和需求。视频云服务本身定位于向开发者提供一站式、端到端的音视频PaaS服务,基于云信音视频服务提供的客户端SDK以及开放API可以快速构建出一个直播、点播、实时音视频应用。网易云信通过融合CDN技术,结合全球多个节点资源,不仅将多CDN灾备、带宽容量、链路选择、智能调度、全链路监控等问题完美解决,向客户提供优质的音视频服务体验,而且做到使用和接入的简单易用。用户在使用云信视频云服务的过程中,不仅可以获得了网易云信端上的音视频编解码和推拉流能力、服务端的音视频处理能力,流媒体分发过程中的问题,也可以不用关注,全部细节都交给视频云平台的能力,用户只需享受端到端的优质音视频体验。 想要阅读更多技术干货文章,欢迎关注网易云信博客。了解网易云信,来自网易核心架构的通信与视频云服务。 网易云信(NeteaseYunXin)是集网易18年IM以及音视频技术打造的PaaS服务产品,来自网易核心技术架构的通信与视频云服务,稳定易用且功能全面,致力于提供全球领先的技术能力和场景化解决方案。开发者通过集成客户端SDK和云端OPEN API,即可快速实现包含IM、音视频通话、直播、点播、互动白板、短信等功能。

July 2, 2019 · 1 min · jiezi

Old-Driver-的自信让-CDN-加速再加速

CDN 的存在,加快了用户的访问速度,使用户可以在不提升网速下,获得更好的访问体验。购物时,可以更快的显示商品图片;看电影时,可以随意的拖拽浏览。如果把数据资源比作是一件件包裹,那么用户的带宽就像是一辆拥有最大容量限制的货车。在未使用 CDN 加速前,货车只能行驶在普通的道路上,被各种红绿灯以及堵车所迫。当采用 CDN 之后,货车就像是获得了 VIP 特权,驶上了高速公路,能够更加的通畅高效。 那么是否有曾想过,如何让这辆货车能够行驶的更快一些,货物能够运送的更快一些呢? 智能压缩 - 将货物打包得更小巧在 HTTP 访问中,资源压缩通常需要客户端和服务端两者的配合,例如用户发起请求时,将会携带 Accept- Encoding 头字段,来表明客户端可以支持的压缩算法。而另一端服务端,则需要识别该头字段,同时选择出一种支持的算法来压缩资源,并返回给用户 Content-Encoding 头字段,表明服务端已经采用某种算法对资源进行了压缩。 例如使用 chrome 访问 http://Upyun.com 时请求头中携带的 Accept-Encoding 头字段: 与之对应的响应头中,Content-Encoding: gzip 表明服务端采用的压缩算法,Vary 头字段则用于内容协商。 又拍云的智能压缩包括 Gzip 和 Brotli 两大主流压缩算法,支持 1-5 的压缩等级。即使源站不支持 Gzip 和 Brotli 算法,也能响应出对应的内容,同时减少源站压缩时的 CPU 消耗。 智能压缩功能开启后,文件大小变化可以直接在访问时看到。 302 调度-选择更合适的路线DNS 的解析错误会导致用户的访问出现较高延迟,例如用户本可以直接访问上海节点,却从山东绕一大圈返回到上海访问,从而增加了用户的访问耗时,影响访问体验。 例如当用户第一次访问到广东珠海时(图1,2中的 113.106.98.34 节点),边缘节点会根据内部准确的 DNS 解析出用户应该访问的节点(图1,2中的58.222.18.2 节点),然后放置在 Location 头字段中,客户端接受到 302 响应之后,会访问 Location 中的位置,从而实现加速。 需要注意的是:302 跳转本身需要一定的消耗,因此只有当用户客户端支持 302 调整,并且资源均为大文件的情况下,开启 302 调度,才能够拥有较好的效果。 ...

June 26, 2019 · 1 min · jiezi

这年头一块钱还能干啥

曾几何时,一块钱还是很有排面的 那时候小卖部里的零食统统五毛一块钱,「无花果」够从早读吃到课间操 那时候公交车还没有空调一块钱,仿佛能从魔仙堡坐到外婆桥 一块钱是四块儿大大泡泡糖是两个真知棒是一根儿绿色心情是每天来自于零花钱的高兴 当然一块钱也可能是十斤面粉(80年代)是三口之家一天的伙食费(70年代)是足够一学期学费的巨款(60年代)请大家自行暴露年龄~ 不过现如今……那些属于「一块钱」的记忆正慢慢消失公交车有没有空调都两块钱了吧?那些记忆中的「一块钱」冰棍也都涨价了吧?一块钱投币带找零的公共电话亭也拆光了吧?现在的小学生也不吃辣条了吧?现如今的一块钱,真正做到你买不了吃亏,买不了上当因为你啥也买不了…… 然而真的是这样吗?虽然1块钱坐不了公交车但是还可以骑共享单车嘛~并且在万能的某宝上我相信一定会给我惊喜的! 结果……这……只能租游戏账号?难道,真的买不了啥了么……不!在七牛云「618 年中盛惠」秒杀仅需 1 块钱! 更有存储、CDN、云主机、云短信四大专场!0 元抢购,低至五折!你从未见过的船新低价等你来~让你的每一块钱都那么值得! 活动链接:https://dwz.cn/TStehXic

June 18, 2019 · 1 min · jiezi

CDN-访问控制的那些事

网络已经成为生活中必不可少的一部分,无论是清早手机翻看的新闻八卦,还是公交地铁里刷的停不下来的短视频,又或是你闲逛的购物网站,热追的电视剧,都与 CDN 有着密不可分的联系。无论你在互联网上做什么,或者消费什么类型的内容,其实每个文本字符、每一帧图像背后都会有 CDN 的助力。 CDN(Content Delivery Network,即内容分发网络)主要通过将访问内容缓存在边缘节点,缩短用户与网站的距离,来提高站点渲染速度和性能。很显然,CDN 发挥的作用主要由边缘节点来呈现,边缘节点作为用户与源站的桥梁,其实不仅仅只起到加速的作用,同时还可以作为恶意访问的“屏障”。这也就是我们今天着重要讲的 —— 访问控制。 又拍云 CDN 访问控制包含访问限制、各种防盗链、安全防护等功能,全方位满足用户需求。 访问限制访问限制分别包括 IP 黑白名单和地区访问限制,也是两种比较基础的访问控制功能。 IP 黑白名单 由于某些行业竞争激烈,因此常常会遇到一些竞争对手利用恶意 IP 占用网站资源,影响网站访问。为了能够保护站点数据和流量负载,需要网站运营者对这些恶意 IP 进行屏蔽。 若需要禁止某些 IP 或只允许某些 IP 访问,可以使用 IP 黑白名单功能。并且在同一时间内,又拍云只支持生效一种规则,比如:要么禁止某些 IP 访问,要么允许某些 IP 访问。支持 通配符,如 10.11.12.,将禁止或只允许 10.11.12.0 ~ 10.11.12.255 范围的 IP 访问。 地区访问限制 地区访问限制是指根据加速网站的需求,允许或禁止特定区域的终端用户对网站资源的访问。即网站指定地区,允许该地区终端用户访问,而限制其他地区用户访问,或者相反。 防盗链在讲防盗链之前,先来了解一下什么是盗链。 盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向终端用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。 简单来说,就是其他网站上“盗”用了你网站的资源,去增加他的网站点击率,但最后流量却算在你身上,让你花“冤枉钱”。这个当然不能忍!怎么办?由于各网站性质不同(游戏/新闻等),需求也是不尽相同的。所以又拍云提供多种防盗链功能,满足用户的需要。 Referer 防盗链 最常用的防盗链手段,就是通过对 HTTP 请求中的 Referer Header 进行判断,来决定用户是否可以访问该资源。 白名单:仅允许名单中的域名网站访问文件,其他域名网站都不允许访问。 黑名单:仅禁止名单中的域名网站访问文件,其他域名网站都允许访问。 Referer 为空:若禁止即不允许用户直接访问该资源,因为直接在浏览器的地址栏中输入一个资源的 URL 地址,请求是不会包含 Referer 字段的。 ...

June 12, 2019 · 1 min · jiezi

阿里云CDN技术掌舵人文景相爱相杀一路狂奔的这十年

导读:提到阿里云CDN,不得不提技术掌舵人姚伟斌(文景),虽然他不是团队中最“老”的同学,但他却历经了淘宝业务发展最为飞速的几年,见证了从最初服务淘宝和集团内部的CDN,到如今国内服务客户最多的云CDN的每一步技术蜕变。在他看来是业务在推动着技术的发展,技术带动了人的成长,过程中不乏迷茫和低谷,但最终确实是一次次的业务洪峰把CDN技术推向了顶端。 缘起开源 怀着赤子之心加入阿里读书时期的文景是个非常“爱折腾“的学生,经常去女生宿舍帮忙调通网络,也接了很多系统开发的私活项目。在研究生阶段接触到了嵌入式开发、无线传感网络、Linux,底层网络,向服务端开发转型。 当时比较火的是金融和通信专业,但是文景对开发就是如痴如醉的喜爱,虽然他的学习成绩不算拔尖,但是因为项目的实操历练经验丰富,他在毕业时候顺利的进入了一家互联网大厂。也就是在这份工作中,他接触到了很多服务端开源软件,如Nginx、Squid、Varnish、Lighthttpd等,也为后续进入阿里奠定了基础。始终认为开源对拓宽程序员的视野和提升代码水平非常重要,所以他开发了很多Nginx开源模块,因为不断的打磨,有一些项目在Github上有上千的星了。回忆当初,技术人员需要一定的价值认同,要么在业务上厉害,有上千万的用户,要么就是技术价值的认可,你做的东西不仅自己在用,成千上万的开发者也在用,甚至有国外的开发者会给你写感谢信,这是非常好的技术认可。 “后来当时的公司业务发展比较慢,遇到了发展瓶颈,而因为自己在开源领域的一些成就,被阿里看中。当时阿里属于业务早期,我心里怀疑这公司到底行不行,没想到面试官竟然是开源领域非常有号召力的“大神”,我当时立刻就决定加入阿里了。有时候程序员选择一份工作不是看业务多强大,而是身为程序员的梦想使然。“文景说。 来到阿里后,文景负责Tengine的研发,从一个人单干,逐渐发展到小团队,Tengine也成为集团95%以上业务的入口。在阿里节奏很快,业务每年的增长几倍甚至几十倍,这十年来有三千倍的增长,这过程中也深刻体会到人和公司的成长是同步的。Tengine业务复杂度非常高,支持整个阿里集团的业务。作为一个支撑性的部门,更需要自驱力,主动做好,主动邀请别人来使用,并且在期间主动解决问题让业务变得更好。 在阿里这么快节奏的工作环境之下,文景还坚持付出额外的时间来做开源,有一段时间Tengine曾跻身全球前十的WebServer,这也是团队成员至今都非常自豪的事情。 这十年,双11和这些程序员“相爱相杀”文景很幸运,加入阿里的第一年他就赶上了双11。对于当时的淘宝技术人来说,双11是每年最最重要的事情。“对我们来说,最关键的就是在零点那一刻,系统要扛住,降级的措施越少越好“。文景回忆到,当时的技术原则:第一是要对业务有预估,几千万人同时并发的QPS是多少,系统能不能支持;第二,要做技术预案,所有依赖系统的容量是多少,一旦出了问题后的应对方案。”经过头几年双11考验后,系统逐渐具备了在极限的情况下也能正常运行的能力,在高性能、稳定方面有很大提升。到后来,我们技术能力和资源储备,已经远超当年秒杀的规模,当前的技术架构已经足以支撑,所有的技术人这才安心了。“ 当然,技术的积淀并不是一蹴而就。在这种高强度的业务压力下,基本上所有的瓶颈都会被文景团队遇到,内存、CPU、IO、网络,来来回回做了很多轮软件优化和节点架构升级。为了应对峰值压力,团队也提前准备业务锁量、节点压测、降级预案、采购临时带宽等多种措施。在我们的监控和数据还不完善的那个年代,双11就靠每个人打开多个终端,盯着一批节点,一旦发现机器负载过高,立马进行人工干预。 转眼来到了2012年,文景认为这一年对CDN非常关键:“第一,我们决定不再采用外部的商用CDN,因为我们发现淘宝的流量,商用CDN是不足以支撑的。原因是淘宝是中国第一个图片这么多的网站,当时的SSD机器还没有这么流行,大部分的CDN厂商还在用SATA的机器,遇到数据量激增的时候,它的IOPS跑不起来,节点立刻会挂掉。第二,当大部分CDN厂商都在用千兆机器,淘宝CDN已经在用万兆机器,我们是中国第一个使用全SSD机器的厂商,并且完成了40G能力的节点上线。当时的技术架构是非常领先的。” 随后的几年,随着CDN能力的增强,双11扛住了数十倍的业务峰值流量,而且很多业务已经开始使用CDN,比如秒杀、红包、详情页等。后来CDN不仅支持集团内部双11,也开始服务外部客户。那几年的发展可以用一路狂奔来形容,每年都有新的业务产生,比如HTTPS、直播、短视频等,文景带领着团队不仅要做产品商业化、要贴身服务客户,还要去快速适应并调整面向新业务的技术方案、优化用户体验、技术攻坚、节点建设,同时也要对集团和客户的双11做全链路的保障方案,双11每年带宽增速在50%-100%,文景的脚步从未停歇。 跌倒了,爬起来继续上路狂奔这一路,文景经历过高峰,当然也有跌落低谷,他认为2015年对团队来说意义非凡,因为那一年他们险些背了3.25。当时淘宝上了全站HTTPS,而由于前期压测、对新业务的评估没有做到位,全站HTTPS带来的计算开销导致CPU、内存都开始成为瓶颈。“当双11开始后,别人都在为数据再创新高而欢呼,我们团队的工程师却眼睁睁的看着线上一些节点内存被打爆,不停重启,当时我在客户现场驻场,真的连死的心都有了。”文景回忆到。 当时的CDN团队已经到了阿里云,经常全中国到处跑,深入客户现场,贴身服务,整个团队的工作重心不再仅仅是为双11做方案和保障。“我们从纯碎的技术人,变成了需要有商业思维的架构师,用CDN这个产品帮助客户去解决问题。也正是因为如此,这次的经历给我们敲响了警钟,后面每当新业务诞生的时候,我们都做足了充分的预案,坚决避免再次重现,更绝不容许这种情况出现在客户身上。” 在此之前,文景带领的CDN团队已经进入阿里云,完成了从“甲方”到“乙方”的转型。“我们还是很偏技术思维的,我们认为只要把自己这块的技术做好做透,一切就顺理成章了。最开始我们在Tengine团队才不到10个人,是纯技术团队,负责软件开发。在转做CDN后,我们要去owner整个系统,考虑的东西更多,系统稳定性是第一优先级。如今,到了阿里云,我们需要吃透业务,所有技术人员都要去跑客户,去了解客户的需求,研究如何更好的服务他。这对我们来说其实是一个角色的转变,技术与商业结合的思维转变。”文景说到。 转型所带来的彷徨并不是所有人都能顺利度过,一度有很多技术人员抱怨业务做太多了,甚至有人离开。文景做为团队负责人,责无旁贷要帮助大家去适应。他当时鼓励工程师们“荤素搭配”自己的工作,要肩负起偏业务性的工作,当然也留出精力去做系统性的纯粹开发,这对工程师的发展是非常有好处的。他也不断地用自己的亲身经历告诉大家,业务,能让技术人员更好地了解产品的设计、提升去场景的理解。阿里全员一直崇尚着“客户第一”,在文景看来,客户第一就是真正地了解客户的需求,再把它变成产品,解决更多客户的问题,而不是你觉得这个产品牛,硬塞给客户去用。总之,技术牛不牛,要拿商业来证明。 到如今,文景所在的阿里云CDN团队已经拥有遍布全球的2500+节点和120T带宽能力储备,同时凭借全球服务能力和产品技术优势被评为全球级(Global)服务商,即面向全球五大洲提供围绕密集商业和消费城市的接入服务。 给年轻技术人一些建议最后,对于想了解或者想踏入CDN这一领域的技术人员,文景也给出了一些建议。 了解行业 CDN这个产品的历史,比云计算还要久,因为互联网的发展而应运而生的产品。现在,这行业是充分竞争的行业,它已经有成熟的解决方案和开源的软件,最终决定性产品的核心竞争力就是:稳定性、成本和质量,厂商们都在寻求更好地突破。阿里云CDN通过历年双11沉淀下来的技术和快速响应能力,已经在四年时间内,从零做到了中国最大的云CDN。未来的CDN行业,会更注重客户价值,面对客户关于低成本、服务质量、安全性、高清视频等不同价值需求点,需要不同场景和技术来满足。 研究开源,专注,不断学习 首先,文景认为去选择优秀的开源软件是一种好的方式,Github是程序员非常好的名片,开源软件写的好的人,代码、沟通能力、落地能力都不会差。第二,一定要专注,决定了方向后,至少要沉淀3年左右的时间,当你成为这个行业的专家,去任何公司都会发挥很大的价值。第三,要不断学习,计算机行业日新月异,对于技术人最大的挑战就是不能停止,要不停去接触新的东西。每年的业务都是两三倍的增长,你会发现你原来的技能已经跟不上业务增长的步伐,在互联网这么快速发展的环境和阿里发展这么迅速的公司,不学习就会被淘汰,绝对不能固步自封。 最后,欢迎加入我们! 阿里云CDN团队诚招技术人才啦!点此查看最新职位! 本文作者:山哥在这里阅读原文 本文为云栖社区原创内容,未经允许不得转载。

May 29, 2019 · 1 min · jiezi

IP应用加速技术详解如何提升动静混合站点的访问速率

全站加速(DCDN)-IPA是阿里云自主研发四层加速产品,它基于TCP/UDP的私有协议提供加速服务,包括解决跨运营商网络不稳定、单线源站、突发流量、网络拥塞等诸多因素导致的延迟高、服务不稳定的问题,提升传输性能和用户体验。 IP应用加速架构如下图所示,首先,全球用户就近接入边缘节点,通过阿里云的智能调度系统接入二级节点,中间采用传输协议优化和路由优化,选取最快、最优的路径。最后,二级节点到源站则选择相同运营商进行回源。 在架构中也会使用CDN一些比较成熟的组件,包括调度系统、管控平台、数据监控、IP地址库及日志采集等服务。 同时,在实际加速过程中,IP应用加速通过“就近接入、传输优化、智能路由”三大技术能力提供更极致的加速体验。其中就近接入与CDN加速原理一致,传统静态CDN的就近接入与缓存是实现加速的主要手段,将用户的访问就近解析到离用户最近的CDN节点,利用访问CDN节点上的缓存内容来实现加速的效果。但是对于动态加速来说,就近接入可以理解为一个就近上车的动作。传输优化在CDN场景中是一个基础的手段,包括单边加速和双边加速,传输优化可以为用户提供更稳定、高效的传输。而智能理由则是动态加速场景中是核心的技术。下面依次对这三个技术点进行解读。 就近接入下图是一个典型的CDN通过域名方式就近解析、就近接入的方式。在现有的CDN加速系统中,如果用户在CDN上注册一个域名,CDN会返回给用户一个CNAME地址,用户把CNAME地址加入到自己的DNS server之上,通过这样的方式,用户在请求的时候,就会递归查询到CDN的GLB上,GLB会根据用户的localDNS、IP、地理位置、运营商等信息,选择一个就近的CDN节点提供接入。这是通过DNS方式就近接入的典型例子,目前IP应用加速已经实现了标准了DNS-CNAME、HTTPS、HTTPDNS的接入。 在接入的过程中,就近接入想达到足够好的效果,IP地址库以及资源的优势是非常重要的。如果IP地址库不准,LocalDNS会被识别到错误的地方或者运营商,那访问就可能跨省跨运营商,达不到加速的目的。如果没有足够的资源覆盖,也很难做到稳定的调度,这样就近接入可能也难以达到理想效果。 传输优化TCP协议是典型的基于丢包或异常延迟来识别网络拥塞的传输协议,它的特征包括拥塞控制算法,如果发生了丢包,吞吐率会急剧下降,系统会认为它是拥塞,发送窗口减小(半),这是标准的TCP的行为。所以在客户端到源站之间一旦发生丢包,吞吐率会极大下降 如果在客户端和源站之间加入Proxy,问题就会缩小到局部,用户和服务器不会感受到发送数据的显著变化。同时,在长RTT的网络环境中,Proxy会使长链路分割成短链路,每个数据包的确认也会变得更短,拥塞窗口的恢复会变得更快,对于提升整体吞吐率也有帮助。 除了TCP Proxy外,在内部协议优化上也进行大量实践。比如通过改进拥塞控制,区分随机丢包还是拥塞丢包来使用更优的重传策略,来提升传输效率;使用多种传输协议,私有协议、多路传输技术以及冗余的传输手段,达到更高的传输速率和可靠性;另外内部传输也采用了更好的异常感知的技术,能够快速加速网络传输过程中的异常并在网络层面切换,实现对上层业务的透明。 下图是在持续丢包的场景下的测试数据,阿里云自研的TCP传输协议比现在最新的bbr算法效果更优。 智能路由如果真的链路上出现了拥塞,这时就需要采用智能路由技术。它的本质是有效预测网络中的拥塞,并且实时切换。另外备份的策略有次优的路线选择,以此保障对上层业务的影响最低。 实际上智能路由算法中,需要考虑的问题非常多。比如要考虑链路的质量、节点的复杂、相关服务器的能力、节点水位、负载均衡、成本等问题,比如在转发的过程中,需要根据现实情况来判断用DGP或多线路进行接入,来满足同运营商回源。在负载均衡方面,还要考虑地域、运营商、源站的优先级等策略。在实际网络质量的评估过程中,我们会用到多层次、多维度实施网络探测,避免源站探测风暴。同时,也要考虑在突发流量汇聚情况下如何实现过载保护。在众多约束条件下,选取最短最优路径有相当大的技术挑战。 IP应用加速-全栈加速从客户端到源站,IP应用加速目前实现了七层、四层、三层各层级的加速,其中七层加速是传统CDN、DCDN的加速产品,针对http(s)的加速,对于一些私有协议,可以使用四层加速。对于IP协议,可以使用IP隧道加速。这其中每一层都是独立组网,实现独立转发。如果本层某些特殊业务,本层不能很好支持,可以考虑在实施过程中考虑把相关加速服务通过转交给下层,利用下层技术能力实现更好的技术服务。 比如,在一个大文件上传的场景中,客户端到服务器端文件上传假设使用http,如果网络有波动或异常,可能会导致成功率较低。而在过程中,如果利用下沉到四层加速,利用多径传输,即可有效降低网络异常对于传输成功率的影响。 IP应用加速的功能访问控制:通过支持白名单、黑名单,对用户到边缘节点之间提供访问控制能力。透明切换:当数据包转发回源站的过程中,可能会出现转发不成功、网络异常、服务器异常等情况,透明切换可以实现内部链路切换无感知。分区回源:不同边缘服务器可以根据源站域名的分区解析的结果,回到最优的源站,适用于多源站情况下的使用。负载均衡:通过适配源站和路径内部的负载均衡,处理汇聚点的相关问题。 除了以上功能,IP应用加速也会陆续上线UDP加速、升级安全防护策略同时提供SDK接入方式。详细的产品信息,可以登录阿里云官网全站加速产品详情页以及IP应用加速文档进行了解。 相关阅读IP应用加速产品发布会直播回顾:https://yq.aliyun.com/live/1074IP应用加速详情:https://promotion.aliyun.com/ntms/dcdnipa.html参与聚能聊话题,赢取礼品:https://yq.aliyun.com/roundtable/497735阿里云全站加速DCDN全面支持WebSocket协议https://yq.aliyun.com/articles/686839 本文作者:樰篱阅读原文 本文为云栖社区原创内容,未经允许不得转载。

May 23, 2019 · 1 min · jiezi

DNSCDNHTTPDNS

dns httpdns运营商LOCALDNS存在问题:域名缓存,替换广告地址,转发到其他运营商localDNS使返给用户的ip不是最近的,配置多个运行商NAT使ip不是最近的。 cdn请求过程:1.当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。2.CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。3.用户向CDN的全局负载均衡设备发起内容URL访问请求。4.CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。5.区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。6.全局负载均衡设备把服务器的IP地址返回给用户。7.用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。 内容发布:它借助于建立索引、缓存、流分裂、组播(Multicast)等技术内容路由:它是整体性的网络负载均衡技术,通过内容路由器中的重定向(DNS)机制,在多个远程POP上均衡用户的请求,以使用户请求得到最近内容源的响应;内容交换:它根据内容的可用性、服务器的可用性以及用户的背景,在POP的缓存服务器上,利用应用层交换、流分裂、重定向(ICP、WCCP)等技术,智能地平衡负载流量;性能管理:它通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证网络处于最佳的运行状态。集群抗攻击 广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量 。 CDN回源 整体动态静态处理访问域名,权威上配的是httpdns的VIP或者IPs。httpdns的域名配置系统中若是静态的配置配成cnd服务器cdndns的域名。然后再进行所谓的cdn自己的ip选择和摘除等(阿里和腾讯的CDN。内部实现就先忽略了,回源正常给IPs或者域名。)。对于动态的直接配置我们自己机器的VIP(进入内部网络,详见公司网络入口:)外网故障摘除是在httpdns上改配置

May 14, 2019 · 1 min · jiezi

github-入门教程之-github-访问速度太慢怎么办

github 是全世界最流行的开源项目托管平台,其代表的开源文化从根本上改变了软件开发的方式. 基本上所有的需求都能从 github 上或多或少找到现成的实现方案,再也不用重头开始造轮子而是自定义轮子! 然而,有时候国内访问 https://github.com/ 速度太慢,如何加速访问 github.com 网站就成了刚需. 由于 github.com 网站位于美国旧金山,所以初始访问 github.com 时网络寻址会比较耗费时间,这也是网站打开速度慢的其中一个原因. 国外在线检测网站: https://www.ipaddress.com/最初用户从浏览器中输入 github.com 网址时,浏览器并不知道这个域名对应的真实 ip 地址,先问问自己电脑认识不认识这个域名的门牌号,如果本机不认识会接着往上问,当地运行商也不认识这个域名的话,继续问上级,直到问道 github.com 的门牌号是 192.30.253.113 为止! 如此繁琐的问路过程被称之为 DNS 寻址,如果问路的时间都占用很久,那么访问网站的速度自然会很慢. 所以,如果我们直接告诉浏览器目的地,那么浏览器也就不会一步一步去费劲问路了,这在一定程度上也就优化了访问网站的速度. $ ping github.com -c 3PING github.com (192.30.253.113): 56 data bytes64 bytes from 192.30.253.113: icmp_seq=0 ttl=41 time=405.924 ms64 bytes from 192.30.253.113: icmp_seq=1 ttl=41 time=346.654 ms64 bytes from 192.30.253.113: icmp_seq=2 ttl=41 time=345.485 ms--- github.com ping statistics ---3 packets transmitted, 3 packets received, 0.0% packet lossround-trip min/avg/max/stddev = 345.485/366.021/405.924/28.220 msping github.com -c 3 查看 github.com 网站的门牌号正常来说,网站的主域名下会存在多个子域名,由这些域名组合在一起提供完整的服务. ...

May 12, 2019 · 2 min · jiezi

Nodejs-应用故障排查手册-雪崩型内存泄漏问题

摘要: 还有一些问题场景下下应用的内存泄漏非常严重和迅速,甚至于在我们的告警系统感知之前就已经造成应用的 OOM 了,这时我们来不及或者说根本没办法获取到堆快照,因此就没有办法借助于之前的办法来分析为什么进程会内存泄漏到溢出进而 Crash 的原因了。楔子实践篇一中我们也看到了一个比较典型的由于开发者不当使用第三方库,而且在配置信息中携带了三方库本身使用不到的信息,导致了内存泄漏的案例,实际上类似这种相对缓慢的 Node.js 应用内存泄漏问题我们总是可以在合适的机会抓取堆快照进行分析,而且堆快照一般来说确实是分析内存泄漏问题的最佳手段。 但是还有一些问题场景下下应用的内存泄漏非常严重和迅速,甚至于在我们的告警系统感知之前就已经造成应用的 OOM 了,这时我们来不及或者说根本没办法获取到堆快照,因此就没有办法借助于之前的办法来分析为什么进程会内存泄漏到溢出进而 Crash 的原因了。这种问题场景实际上属于线上 Node.js 应用内存问题的一个极端状况,本节将同样从源自真实生产的一个案例来来给大家讲解下如何处理这类极端内存异常。 本书首发在 Github,仓库地址:https://github.com/aliyun-node/Node.js-Troubleshooting-Guide,云栖社区会同步更新。 最小化复现代码同样我们因为例子的特殊性,我们需要首先给出到大家生产案例的最小化复现代码,建议读者自行运行一番此代码,这样结合起来看下面的排查分析过程会更有收获。最小复现代码还是基于 Egg.js,如下所示: 'use strict';const Controller = require('egg').Controller;const fs = require('fs');const path = require('path');const util = require('util');const readFile = util.promisify(fs.readFile);class DatabaseError extends Error { constructor(message, stack, sql) { super(); this.name = 'SequelizeDatabaseError'; this.message = message; this.stack = stack; this.sql = sql; }}class MemoryController extends Controller { async oom() { const { ctx } = this; let bigErrorMessage = await readFile(path.join(__dirname, 'resource/error.txt')); bigErrorMessage = bigErrorMessage.toString(); const error = new DatabaseError(bigErrorMessage, bigErrorMessage, bigErrorMessage); ctx.logger.error(error); ctx.body = { ok: false }; }}module.exports = MemoryController;这里我们还需要在 app/controller/ 目录下创建一个 resource 文件夹,并且在这个文件夹中添加一个 error.txt,这个 TXT 内容随意,只要是一个能超过 100M 的很大的字符串即可。  ...

April 23, 2019 · 2 min · jiezi

避免CDN引用资源被webpack打包进出口bundle.js文件

解决cdn不做任何配置也同样被打包进webpack的出口文件的问题先说说为什么使用CDN打包事件太长,打包1代码体积太大,请求慢服务器不稳定带宽不高,使用CDN可以回避服务器带宽问题资源优化解决方案使用externals配置项: 防止将某些import包打包到bundle中,而在运行时再去外部获取扩展依赖·拿jQuery来举例1. 从CDN引入jQueryjavascript&lt;script src="https://code.jquery.com/jquery-3.1.0.js" integrity="sha256-slogkvB1K3VOkzAI8QITxV3VzpOnkeNVsKvtkYLMjfk=" crossorigin="anonymous"&gt;&lt;/script&gt;2. webpack.config.js配置javascript // .... externals: { jquery: 'jQuery' }3. 这样就解决了那些不需要改动的依赖具有外部依赖(external dependency)的 bundle 可以在各种模块上下文(module context)中使用javascriptimport $ from 'jquery';$('.my-element').animate(/* ... */);对于通过externals设置的外部依赖,可以通过以下几种方式来进行访问root 全局访问commonJS模块访问AMD模块访问

April 19, 2019 · 1 min · jiezi

Vue项目构建持续集成阿里云CDN

CDN加速是Web应用性能优化和用户体验提升的至关重要的一环,当一个项目构建部署时,就需要考虑到如何高效的去完成相关资源的CDN部署。本文以一个基于 vue-cli3 构建的项目实例,来简单讲解如何配合Teamcity,自动进行阿里云CDN资源部署和持续集成。项目构建vue-cli3 默认支持将项目以 test、development、production 三种模式构建,其中 production 模式将在 build 后生成 dist目录。我们在项目路径下插入 .env.[mode] 格式的文件就可以实现自定义模式。通常,默认的构建模式无法满足项目研发需求。一个项目至少需要包含本地调试 - 即开发过程中的 development 模式,不生成 dist 静态目录,使用 vue-dev-server运行项目;测试环境 - 即基本的集成测试,需要文件静态化,部署到测试环境;线上环境 - 即用户环境,也需要文件静态化,并做CDN加速等性能优化措施;按照这个模型,我们需要自定义一个 deploy 模式,来实现和普通 production打包后,资源引入路径的区别。首先,环境创建在项目根目录下创建 .env.deploy 文件,添加内容如下:NODE_ENV=productionDEPLOY=onlineNODE_ENV的设置代表webpack构建时使用production模式,即会生成 dist静态目录。DEPLOY的设置,是一个我们定义的变量,用于在配置中区分deploy和production模式。其次,配置文件在 vue.config.js 中,配置 BASE_URL// 根据自定义的变量来进行内容设置let BASE_URL = ‘/‘switch(process.env.DEPLOY) { case ‘online’: BASE_URL = ‘http://web-cdn.xxx.com/' break default: BASE_URL = ‘/’}module.exports = { publicPath: BASE_URL, ….}该配置会使得当程序使用 deploy 模式运行时,打包的资源根路径为我们的CDN地址。最后,构建命令在 package.json 中,配置使用 deploy 模式的打包命令"scripts": { “build”: “vue-cli-service build”, “deploy”: “vue-cli-service build –mode deploy”, …}当用户执行 npm run build 时,会生成以 / 为资源路径的文件;当用户执行 npm run deploy 时,生成 index.html 中的资源路径就变成了我们配置的CDN路径。<!DOCTYPE html><html> <head> <meta charset=utf-8> <meta http-equiv=X-UA-Compatible content=“IE=edge”> <meta name=viewport content=“width=device-width,initial-scale=1”> <link rel=icon href=http://web-cdn.xxx.com/favicon.ico> <title>Demo</title> <link href=http://web-cdn.xxx.com/css/chunk-0fabbc4c.08fa0fd2.css rel=prefetch> <link href=http://web-cdn.xxx.com/css/chunk-1025f268.0dc416de.css rel=prefetch> <link href=http://web-cdn.xxx.com/js/app.84dcc9e6.js rel=preload as=script> </head> <body> <div id=app></div> <script src=http://web-cdn.xxx.com/js/chunk-vendors.614ecc0c.js></script> <script src=http://web-cdn.xxx.com/js/app.84dcc9e6.js></script> </body></html>阿里云CDN配置和上传接下来,我们要做的就是配置一个CDN,并能够把这些资源传上去。首先,在阿里云上配置CDN,做好域名CNAME解析,并获取到阿里云的 accessKeyId、accessKeySecret、Region、BucketName等信息,然后选择一种语言,写好上传脚本。这里我们以Node脚本为例:// oss-deploy.jslet OSS = require(‘ali-oss’)let fs = require(‘fs’)let client = new OSS({ region: ‘oss-cn-hangzhou’, accessKeyId: ‘xxx’, accessKeySecret: ‘xxx’, bucket: ‘xxx’})// 使用async+await方法,实现同步化,方便在失败后重试处理async function put(fileName) { try { let result = await client.put(fileName, ‘../dist/’ + fileName) console.log(‘File Upload Success: ‘, fileName) } catch (e) { console.log(‘File Upload Failed: ‘, fileName) // 这里省略异常/失败的重试 }}// 读取打包后的 dist 路径,按照原文件夹结构,进行上传let readFileList = (path, filesList) => { let files = fs.readdirSync(path) files.forEach(itm => { if (itm) { let stat = fs.statSync(path + itm) if (stat.isDirectory()) { readFileList(path + itm + ‘/’, filesList) } else { filesList.push(path + itm) } } }) return filesList}let dist = readFileList(’../dist/’, [])// 递归执行文件上传操作let i = 0, l = dist.lengthlet uploadAsset = () => { if (i < l) { let name = dist[i].split(’../dist/’)[1] put(name) i++ uploadAsset() }}uploadAsset()执行npm install –save-dev ali-ossnode oss-deploy.js即可看到文件已经被上传到了CDN路径下。持续集成上面的两个模块,已经实现了基本的CDN部署。但我们在项目开发的时候,肯定不希望每次 build完,都去自己执行上传CDN,再去服务器上部署。这里我们再把 TeamCity上实现自动build、一键上线的流程简单阐述。TeamCity上的执行脚本如下:cd /apps/kaleido-cms/git pull -f origin masternpm installnpm run deploygit add dist/*git commit -m “Deploy"git push origin mastercd /apps/kaleido-cms/deploynode oss-deploy.jsssh root@10.0.0.1 “./deploy_cms.sh"ssh root@10.0.0.2 “./deploy_cms.sh"因为线上服务通常是集群模式,而 webpack在不同服务器执行build,会产生不同的哈希值版本号,会导致远程资源无法获取到。所以我们需要在持续集成部署的服务器上做build操作,生成dist路径,上传到git和cdn。最后再到集群的每个服务器上拉取静态文件即可。补充:在同一台服务器上,只要文件完全不变,我们使用vue-cli3构建生成的最终文件的哈希值版本号就不会产生改变。因此,对于用户来说当我们更新版本时,并不会对用户造成所有缓存文件失效的性能和体验影响。在阿里云的CDN上,是使用协商缓存的ETag来进行文件资源缓存,因此重名新文件覆盖旧文件时,如文件内容完全一致,Etag也会保持一致,对用户来讲也不必担心缓存问题;如文件发生变更,用户协商缓存也将无法命中,就会取新的资源文件。有些方法是把静态资源的请求发到Nginx,然后再转发到CDN地址。笔者认为,这样会造成所有资源需要重定向、并且在Nginx上无法设置缓存信息,性能上不如本文介绍的直接构建生成CDN地址的HTML文件的方法。通过这套操作,最终我们实现了在TeamCity上,一键执行打包、上传CDN、部署的整个流程。 ...

April 18, 2019 · 2 min · jiezi

上线 HTTPS 服务 / 反向代理 LB / 隐藏业务IP

ssl 证书免费申请ssl for free 可以免费为我们提供三个月的 ssl 证书及续签服务,填写业务域名,上传验证文件到业务服务器,验证成功后便会生成相应的证书.crt和私钥.key,提供一次性下载,重新生成,销毁及续签服务。Nginx 配置 HTTPS / 负载均衡配置如下注意:在upstream中加入hash语句。server语句中不能写入weight等其他的參数,hash_method是使用的hash算法。upstream upstream_server_api { #ip_hash; 同一请求ip发往同一负载 #fair; 按后端服务器的响应时间来分配请求,响应时间短的优先分配 #–url_hash– 按訪问url的hash结果来分配请求,使每一个url定向到同一个后端服务器 #hash $request_uri; #hash_method crc32; #–url_hash– server 127.0.0.1:8081 weight=1 max_fails=3 fail_timeout=30s;#权重1 失败3此后暂停30s server 127.0.0.1:8082 weight=2 max_fails=3 fail_timeout=30s;#权重2 失败3此后暂停30s server 127.0.0.1:8083 backup;# 当其他服务器不可用或全忙时启用 server 127.0.0.1:8084 down;# 服务下线}server { listen 443 ssl default; server_name api.foo.com; index index.html index.htm index.php; root /home/wwwroot/web; … ssl on; ssl_certificate /opt/nginx_ssl/certificate.crt; ssl_certificate_key /opt/nginx_ssl/private.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; … # 如果是静态请求 nginx 负责处理 否则转发给后端服务器location 处理动态请求 # 你可以根据自己的业务定义相应的转发规则 location / { try_files $uri $uri/ @loc_server_api; } # 后端服务器location则反向代理给后端服务 location @loc_server_api { proxy_set_header Host $proxy_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_pass http://upstream_server_api; } location ~ ..(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ ..(js|css)?$ { expires 12h; } location ~ /. { deny all; }}如果需要重定向 http 到 https 可使用如下配置server { listen 80 default; server_name api.foo.com; #重定向http至https return 301 https://api.foo.com;}检查配置后重启服务即可nginx -tsystemctl restart nginx.service利用阿里云 SCDN 全站加速隐藏业务服务器 IP全站加速 SCDN 并不能对抗 DDOS/CC 攻击,它只是在 CDN 的基础上同时加速上行请求:选用更为畅通和高速的网络通道传输客户端向服务器端发送的请求,适合动态类数据的请求(web service)。1、创建业务域名 api.foo.com 下的 SCDN 规则,获得加速域名。2、CNAME 解析业务域名到相应的 SCDN 规则提供的加速域名。3、配置回源方式(业务域名|源站域名|自定义域名),这里我们选业务域名,我们业务服务器也应一致监听此业务域名。4、配置 HTTPS 填写申请的证书及私钥开启 HTTPS 访问,可配置是否重定向 HTTP 请求至 HTTPS。5、保存生效如此业务域名将被解析至全站加速CDN,而后 SCDN 回源请求给隐藏在后方的业务服务器,攻击者无法发现真实的业务服务器IP。 ...

January 24, 2019 · 1 min · jiezi

通过FD耗尽实验谈谈使用HttpClient的正确姿势

一段问题代码实验在进行网络编程时,正确关闭资源是一件很重要的事。在高并发场景下,未正常关闭的资源数逐渐积累会导致系统资源耗尽,影响系统整体服务能力,但是这件重要的事情往往又容易被忽视。我们进行一个简单的实验,使用HttpClient-3.x编写一个demo请求指定的url,看看如果不正确关闭资源会发生什么事。public String doGetAsString(String url) { GetMethod getMethod = null; String is = null; InputStreamReader inputStreamReader = null; BufferedReader br = null; try { HttpClient httpclient = new HttpClient();//问题标记① getMethod = new GetMethod(url); httpclient.executeMethod(getMethod); if (HttpStatus.SC_OK == getMethod.getStatusCode()) { ……//对返回结果进行消费,代码省略 } return is; } catch (Exception e) { if (getMethod != null) { getMethod.releaseConnection(); //问题标记② } } finally { inputStreamReader.close(); br.close(); ……//关闭流时的异常处理代码省略 } return null; }这段代码逻辑很简单, 先创建一个HttpClient对象,用url构建一个GetMethod对象,然后发起请求。但是用这段代码并发地以极高的QPS去访问外部的url,很快就会在日志中看到“打开文件太多,无法打开文件”的错误,后续的http请求都会失败。这时我们用lsof -p &dollar;{javapid}命令去查看java进程打开的文件数,发现达到了655350这么多。分析上面的代码片段,发现存在以下2个问题:(1)初始化方式不对。标记①直接使用new HttpClient()的方式来创建HttpClient,没有显示指定HttpClient connection manager,则构造函数内部默认会使用SimpleHttpConnectionManager,而SimpleHttpConnectionManager的默认参数中alwaysClose的值为false,意味着即使调用了releaseConnection方法,连接也不会真的关闭。(2)在未使用连接池复用连接的情况下,代码没有正确调用releaseConnection。catch块中的标记②是唯一调用了releaseConnection方法的代码,而这段代码仅在发生异常时才会走到,大部分情况下都走不到这里,所以即使我们前面用正确的方式初始化了HttpClient,由于没有手动释放连接,也还是会出现连接堆积的问题。可能有同学会有以下疑问:1、明明是发起Http请求,为什么会打开这么多文件呢?为什么是655350这个上限呢?2、正确的HttpClient使用姿势是什么样的呢?这就涉及到linux系统中fd的概念。什么是fd在linux系统中有“一切皆文件”的概念。打开和创建普通文件、Socket(套接字)、Pipeline(管道)等,在linux内核层面都需要新建一个文件描述符来进行状态跟踪和使用。我们使用HttpClient发起请求,其底层需要首先通过系统内核创建一个Socket连接,相应地就需要打开一个fd。为什么我们的应用最多只能创建655350个fd呢?这个值是如何控制的,能否调整呢?事实上,linux系统对打开文件数有多个层面的限制:1)限制单个Shell进程以及其派生子进程能打开的fd数量。用ulimit命令能查看到这个值。2)限制每个user能打开的文件总数。具体调整方法是修改/etc/security/limits.conf文件,比如下图中的红框部分就是限制了userA用户只能打开65535个文件,userB用户只能打开655350个文件。由于我们的应用在服务器上是以userB身份运行的,自然就受到这里的限制,不允许打开多于655350个文件。# /etc/security/limits.conf##<domain> <type> <item> <value>userA - nofile 65535userB - nofile 655350# End of file3)系统层面允许打开的最大文件数限制,可以通过“cat /proc/sys/fs/file-max”查看。前文demo代码中错误的HttpClient使用方式导致连接使用完成后没有成功断开,连接长时间保持CLOSE_WAIT状态,则fd需要继续指向这个套接字信息,无法被回收,进而出现了本文开头的故障。再识HttpClient我们的代码中错误使用common-httpclient-3.x导致后续请求失败,那这里的common-httpclient-3.x到底是什么东西呢?相信所有接触过网络编程的同学对HttpClient都不会陌生,由于java.net中对于http访问只提供相对比较低级别的封装,使用起来很不方便,所以HttpClient作为Jakarta Commons的一个子项目出现在公众面前,为开发者提供了更友好的发起http连接的方式。然而目前进入Jakarta Commons HttpClient官网,会发现页面最顶部的“End of life”栏目,提示此项目已经停止维护了,它的功能已经被Apache HttpComponents的HttpClient和HttpCore所取代。同为Apache基金会的项目,Apache HttpComponents提供了更多优秀特性,它总共由3个模块构成:HttpComponents Core、HttpComponents Client、HttpComponents AsyncClient,分别提供底层核心网络访问能力、同步连接接口、异步连接接口。在大多数情况下我们使用的都是HttpComponents Client。为了与旧版的Commons HttpClient做区分,新版的HttpComponents Client版本号从4.x开始命名。从源码上来看,Jakarta Commons HttpClient和Apache HttpComponents Client虽然有很多同名类,但是两者之间没有任何关系。以最常使用到的HttpClient类为例,在commons-httpclient中它是一个类,可以直接发起请求;而在4.x版的httpClient中,它是一个接口,需要使用它的实现类。既然3.x与4.x的HttpClient是两个完全独立的体系,那么我们就分别讨论它们的正确用法。HttpClient 3.x用法回顾引发故障的那段代码,通过直接new HttpClient()的方式创建HttpClient对象,然后发起请求,问题出在了这个构造函数上。由于我们使用的是无参构造函数,查看三方包源码,会发现内部会通过无参构造函数new一个SimpleHttpConnectionManager,它的成员变量alwaysClose在不特别指定的情况下默认为false。alwaysClose这个值是如何影响到我们关闭连接的动作呢?继续跟踪下去,发现HttpMethodBase(它的多个实现类分别对应HTTP中的几种方法,我们最常用的是GetMethod和PostMethod)中的releaseConnection()方法首先会尝试关闭响应输入流(下图中的①所指代码),然后在finally中调用ensureConnectionRelease(),这个方法内部其实是调用了HttpConnection类的releaseConnection()方法,如下图中的标记③所示,它又会调用到SimpleHttpConnectionManager的releaseConnection(conn)方法,来到了最关键的标记④和⑤。标记④的代码说明,如果alwaysClose=true,则会调用httpConnection.close()方法,它的内部会把输入流、输出流都关闭,然后把socket连接关闭,如标记⑥和⑦所示。然后,如果标记④处的alwaysClose=false,则会走到⑤的逻辑中,调用finishLastResponse()方法,如标记⑧所示,这段逻辑实际上只是把请求响应的输入流关闭了而已。我们的问题代码就是走到了这段逻辑,导致没能把之前使用过的连接断开,而后续的请求又没有复用这个httpClient,每次都是new一个新的,导致大量连接处于CLOSE_WAIT状态占用系统文件句柄。通过以上分析,我们知道使用commons-httpclient-3.x之后如果想要正确关闭连接,就需要指定always=true且正确调用method.releaseConnection()方法。上述提到的几个类,他们的依赖关系如下图(红色箭头标出的是我们刚才讨论到的几个类):其中SimpleHttpConnectionManager这个类的成员变量和方法列表如下图所示:事实上,通过对commons-httpclient-3.x其他部分源码的分析,可以得知还有其他方法也可以正确关闭连接。方法1:先调用method.releaseConnection(),然后获取到httpClient对象的SimpleHttpConnectionManager成员变量,主动调用它的shutdown()方法即可。对应的三方包源码如下图所示,其内部会调用httpConnection.close()方法。方法2:先调用method.releaseConnection(),然后获取到httpClient对象的SimpleHttpConnectionManager成员变量,主动调用closeIdleConnections(0)即可,对应的三方包源码如下。方法3:由于我们使用的是HTTP/1.1协议,默认会使用长连接,所以会出现上面的连接不释放的问题。如果客户端与服务端双方协商好不使用长连接,不就可以解决问题了吗。commons-httpclient-3.x也确实提供了这个支持,从下面的注释也可以看出来。具体这样操作,我们在创建了method后使用method.setRequestHeader(“Connection”, “close”)设置头部信息,并在使用完成后调用一次method.releaseConnection()。Http服务端在看到此头部后会在response的头部中也带上“Connection: close”,如此一来httpClient发现返回的头部有这个信息,则会在处理完响应后自动关闭连接。HttpClient 4.x用法既然官方已经不再维护3.x,而是推荐所有使用者都升级到4.x上来,我们就顺应时代潮流,重点看看4.x的用法。(1)简易用法最简单的用法类似于3.x,调用三方包提供的工具类静态方法创建一个CloseableHttpClient对象,然后发起调用,如下图。这种方式创建的CloseableHttpClient,默认使用的是PoolingHttpClientConnectionManager来管理连接。由于CloseableHttpClient是线程安全的,因此不需要每次调用时都重新生成一个,可以定义成static字段在多线程间复用。如上图,我们在获取到response对象后,自己决定如何处理返回数据。HttpClient的三方包中已经为我们提供了EntityUtils这个工具类,如果使用这个类的toString()或consume()方法,则上图finally块红框中的respnose.close()就不是必须的了,因为EntityUtils的方法内部会在处理完数据后把底层流关闭。(2)简易用法涉及到的核心类详解CloseableHttpClient是一个抽象类,我们通过HttpClients.createDefault()创建的实际是它的子类InternalHttpClient。/** * Internal class. * * @since 4.3 /@Contract(threading = ThreadingBehavior.SAFE_CONDITIONAL)@SuppressWarnings(“deprecation”)class InternalHttpClient extends CloseableHttpClient implements Configurable { … …}继续跟踪httpclient.execute()方法,发现其内部会调用CloseableHttpClient.doExecute()方法,实际会调到InternalHttpClient类的doExecute()方法。通过对请求对象(HttpGet、HttpPost等)进行一番包装后,最后实际由execChain.execute()来真正执行请求,这里的execChain是接口ClientExecChain的一个实例。接口ClientExecChain有多个实现类,由于我们使用HttpClients.createDefault()这个默认方法构造了CloseableHttpClient,没有指定ClientExecChain接口的具体实现类,所以系统默认会使用RedirectExec这个实现类。/* * Base implementation of {@link HttpClient} that also implements {@link Closeable}. * * @since 4.3 /@Contract(threading = ThreadingBehavior.SAFE)public abstract class CloseableHttpClient implements HttpClient, Closeable { private final Log log = LogFactory.getLog(getClass()); protected abstract CloseableHttpResponse doExecute(HttpHost target, HttpRequest request, HttpContext context) throws IOException, ClientProtocolException; … …}RedirectExec类的execute()方法较长,下图进行了简化。可以看到如果远端返回结果标识需要重定向(响应头部是301、302、303、307等重定向标识),则HttpClient默认会自动帮我们做重定向,且每次重定向的返回流都会自动关闭。如果中途发生了异常,也会帮我们把流关闭。直到拿到最终真正的业务返回结果后,直接把整个response向外返回,这一步没有帮我们关闭流。因此,外层的业务代码在使用完response后,需要自行关闭流。执行execute()方法后返回的response是一个CloseableHttpResponse实例,它的实现是什么?点开看看,这是一个接口,此接口唯一的实现类是HttpResponseProxy。/* * Extended version of the {@link HttpResponse} interface that also extends {@link Closeable}. * * @since 4.3 /public interface CloseableHttpResponse extends HttpResponse, Closeable {}我们前面经常看到的response.close(),实际是调用了HttpResponseProxy的close()方法,其内部逻辑如下:/* * A proxy class for {@link org.apache.http.HttpResponse} that can be used to release client connection * associated with the original response. * * @since 4.3 / class HttpResponseProxy implements CloseableHttpResponse { @Override public void close() throws IOException { if (this.connHolder != null) { this.connHolder.close(); } } … …}/* * Internal connection holder. * * @since 4.3 /@Contract(threading = ThreadingBehavior.SAFE)class ConnectionHolder implements ConnectionReleaseTrigger, Cancellable, Closeable { … … @Override public void close() throws IOException { releaseConnection(false); }}可以看到最终会调用到ConnectionHolder类的releaseConnection(reusable)方法,由于ConnectionHolder的close()方法调用releaseConnection()时默认传入了false,因此会走到else的逻辑中。这段逻辑首先调用managedConn.close()方法,然后调用manager.releaseConnection()方法。managedConn.close()方法实际是把连接池中已经建立的连接在socket层面断开连接,断开之前会把inbuffer清空,并把outbuffer数据全部传送出去,然后把连接池中的连接记录也删除。manager.releaseConnection()对应的代码是PoolingHttpClientConnectionManager.releaseConnection(),这段代码代码本来的作用是把处于open状态的连接的socket超时时间设置为0,然后把连接从leased集合中删除,如果连接可复用则把此连接加入到available链表的头部,如果不可复用则直接把连接关闭。由于前面传入的reusable已经强制为false,因此实际关闭连接的操作已经由managedConn.close()方法做完了,走到PoolingHttpClientConnectionManager.releaseConnection()中真正的工作基本就是清除连接池中的句柄而已。如果想了解关闭socket的细节,可以通过HttpClientConnection.close()继续往下跟踪,最终会看到真正关闭socket的代码在BHttpConnectionBase中。/* * This class serves as a base for all {@link HttpConnection} implementations and provides * functionality common to both client and server HTTP connections. * * @since 4.0 /public class BHttpConnectionBase implements HttpConnection, HttpInetConnection { … … @Override public void close() throws IOException { final Socket socket = this.socketHolder.getAndSet(null); if (socket != null) { try { this.inbuffer.clear(); this.outbuffer.flush(); try { try { socket.shutdownOutput(); } catch (final IOException ignore) { } try { socket.shutdownInput(); } catch (final IOException ignore) { } } catch (final UnsupportedOperationException ignore) { // if one isn’t supported, the other one isn’t either } } finally { socket.close(); } } } … …}为什么说调用了EntityUtils的部分方法后,就不需要再显示地关闭流呢?看下它的源码就明白了。/* * Static helpers for dealing with {@link HttpEntity}s. * * @since 4.0 /public final class EntityUtils { /* * Ensures that the entity content is fully consumed and the content stream, if exists, * is closed. * * @param entity the entity to consume. * @throws IOException if an error occurs reading the input stream * * @since 4.1 */ public static void consume(final HttpEntity entity) throws IOException { if (entity == null) { return; } if (entity.isStreaming()) { final InputStream instream = entity.getContent(); if (instream != null) { instream.close(); } } } … …}(3)HttpClient进阶用法在高并发场景下,使用连接池有效复用已经建立的连接是非常必要的。如果每次http请求都重新建立连接,那么底层的socket连接每次通过3次握手创建和4次握手断开连接将是一笔非常大的时间开销。要合理使用连接池,首先就要做好PoolingHttpClientConnectionManager的初始化。如下图,我们设置maxTotal=200且defaultMaxPerRoute=20。maxTotal=200指整个连接池中连接数上限为200个;defaultMaxPerRoute用来指定每个路由的最大并发数,比如我们设置成20,意味着虽然我们整个池子中有200个连接,但是连接到"http://www.taobao.com"时同一时间最多只能使用20个连接,其他的180个就算全闲着也不能给发到"http://www.taobao.com"的请求使用。因此,对于高并发的场景,需要合理分配这2个参数,一方面能够防止全局连接数过多耗尽系统资源,另一方面通过限制单路由的并发上限能够避免单一业务故障影响其他业务。private static volatile CloseableHttpClient instance; static { PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); // Increase max total connection to 200 cm.setMaxTotal(200); // Increase default max connection per route to 20 cm.setDefaultMaxPerRoute(20); RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(1000) .setSocketTimeout(1000) .setConnectionRequestTimeout(1000) .build(); instance = HttpClients.custom() .setConnectionManager(cm) .setDefaultRequestConfig(requestConfig) .build(); }官方同时建议我们在后台起一个定时清理无效连接的线程,因为某些连接建立后可能由于服务端单方面断开连接导致一个不可用的连接一直占用着资源,而HttpClient框架又不能百分之百保证检测到这种异常连接并做清理,因此需要自给自足,按照如下方式写一个空闲连接清理线程在后台运行。public class IdleConnectionMonitorThread extends Thread { private final HttpClientConnectionManager connMgr; private volatile boolean shutdown; Logger logger = LoggerFactory.getLogger(IdleConnectionMonitorThread.class); public IdleConnectionMonitorThread(HttpClientConnectionManager connMgr) { super(); this.connMgr = connMgr; } @Override public void run() { try { while (!shutdown) { synchronized (this) { wait(5000); // Close expired connections connMgr.closeExpiredConnections(); // Optionally, close connections // that have been idle longer than 30 sec connMgr.closeIdleConnections(30, TimeUnit.SECONDS); } } } catch (InterruptedException ex) { logger.error(“unknown exception”, ex); // terminate } } public void shutdown() { shutdown = true; synchronized (this) { notifyAll(); } }}我们讨论到的几个核心类的依赖关系如下:HttpClient作为大家常用的工具,看似简单,但是其中却有很多隐藏的细节值得探索。本文作者:闲鱼技术-峰明阅读原文本文为云栖社区原创内容,未经允许不得转载。 ...

January 14, 2019 · 3 min · jiezi

CDN的使用场景和操作细节

随着互联网的发展,各种网络应用也雨后春笋般的发展,应用越做越大,访问路径越来越长,用户的访问质量受到严重的影响,特别是用户和网站之间的链路被突发的大流量数据拥堵、异地访问急需加速,减少网络费用等因素,对于这些急需解决的问题,于是就有了内容发布网络(Content Delivery Network,简称CDN)。 CDN是指一种通过互联网互相连接的电脑网络系统,利用最靠近用户的服务器,更快、更可靠地将音乐、图片、视频、应用程序及其他文件发送给用户,来提供高性能、可扩展性及低成本的网络内容传递给用户。 CDN总承载量可以比单一骨干最大的带宽还要大。这使得内容分发网络可以承载的用户数量比起传统单一服务器多。也就是说,若把有100Gbps处理能力的服务器放在只有10Gbps带宽的数据中心,则亦只能发挥出10Gbps的承载量。但如果放到十个有10Gbps的地点,整个系统的承载量就可以到10*10Gbps。同时,将服务器放到不同地点,可以减少互连的流量,进而降低带宽成本。CDN访问路径首先访问本地的DNS,如果没有命中,继续递归或者迭代查找,直到命中拿到对应的IP地址。拿到对应的IP地址之后服务器端发送请求到目的地址。注意这里返回的不直接是CDN服务器的IP地址,而是全局负载均衡系统的IP地址全局负载均衡系统会根据客户端的 IP地址和请求的url和相应的区域负载均衡系统通信区域负载均衡系统拿着这两个东西获取距离客户端最近且有相应资源的CDN缓存服务器的地址,返回给全局负载均衡系统全局负载均衡系统返回确定的CDN缓存服务器的地址给客户端。客户端请求缓存服务器上的文件其中有一个比较重要的点,在过程1里:这个过程中,有一个CNAME的过程,我们访问CDN资源的地址一般是a.cloud.com或者类似的地址,是一个公司的访问CDN的专用地址。但是一般用的CDN的服务却是第三方的,即其实资源在他们的地址上比如tencent.cdn.com。这时候就需要在CDN查询的时候,需要把我们访问a.cloud.com的地址映射到tencent.cdn.com的地址上,然后拿着映射后的地址再去走一遍DNS解析,成功之后才获取到第三方提供的全局负载均衡系统的IP。再继续走后面的流程。CDN的优势我们使用CDN的两个重要的原因就是加速网站访问、减少宽带成本,其次,CDN还有很多作用:1、为了实现跨运营商、跨地域的全网覆盖互联不互通、区域ISP地域局限、出口带宽受限制等种种因素都造成了网站的区域性无法访问。CDN加速可以覆盖全球的线路,通过和运营商合作,部署IDC资源,在全国骨干节点商,合理部署CDN边缘分发存储节点,充分利用带宽资源,平衡源站流量。阿里云在国内有500+节点,海外300+节点,覆盖主流国家和地区不是问题,可以确保CDN服务的稳定和快速。2、为了保障你的网站安全CDN的负载均衡和分布式存储技术,可以加强网站的可靠性,相当无无形中给你的网站添加了一把保护伞,应对绝大部分的互联网攻击事件。防攻击系统也能避免网站遭到恶意攻击。3、为了异地备援当某个服务器发生意外故障时,系统将会调用其他临近的健康服务器节点进行服务,进而提供接近100%的可靠性,这就让你的网站可以做到永不宕机。4、为了节约成本投入使用CDN加速可以实现网站的全国铺设,你根据不用考虑购买服务器与后续的托管运维,服务器之间镜像同步,也不用为了管理维护技术人员而烦恼,节省了人力、精力和财力。5、为了让你更专注业务本身CDN加速厂商一般都会提供一站式服务,业务不仅限于CDN,还有配套的云存储、大数据服务、视频云服务等,而且一般会提供7x24运维监控支持,保证网络随时畅通,你可以放心使用。并且将更多的精力投入到发展自身的核心业务之上。CDN使用场景CDN是将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率。解决因分布、带宽、服务器性能带来的访问延迟问题,适用于站点加速、点播、直播等场景。今天为大家分享几个CDN的典型适用场景。1、网站站点/应用加速站点或者应用中大量静态资源的加速分发,建议将站点内容进行动静分离,动态文件可以结合云服务器ECS,静态资源如各类型图片、html、css、js文件等,建议结合 对象存储OSS 存储海量静态资源,可以有效加速内容加载速度,轻松搞定网站图片、短视频等内容分发2、视音频点播/大文件下载分发加速支持各类文件的下载、分发,支持在线点播加速业务,如mp4、flv视频文件或者平均单个文件大小在20M以上,主要的业务场景是视音频点播、大文件下载(如安装包下载)等,建议搭配对象存储OSS使用,可提升回源速度,节约近2/3回源带宽成本。3、视频直播加速阿里云一站式 视频直播服务 服务已正式上线发布!基于领先的内容接入与分发网络和大规模分布式实时转码技术打造的音视频直播平台,提供便捷接入、高清流畅、低延迟、高并发的音视频直播服务。支持多直播场景,全景数据统计,丰富角度分析;直播功能丰富,录制回放、实时封面、实时转码、连麦混流。4、移动应用加速移动APP更新文件(apk文件)分发,移动APP内图片、页面、短视频、UGC等内容的优化加速分发。提供httpDNS服务,避免DNS劫持并获得实时精确的DNS解析结果,有效缩短用户访问时间,提升用户体验。CDN缓存策略这对不同文件类型合理配置缓存策略能有效的增加CDN回源效率,大幅缩减宽带成本1、配制合理的CDN缓存规则说明:让当地或就近的 CDN 节点上的缓存内容,直接提供给用户访问。多个客户访问相同资源也无需回源站获取内容,以此减少回源带宽。优点:缓存住的内容可直接由 CDN 提供资源的访问。缺点:根据 CDN 缓存算法 “最近最少使用” 的原则,将最近访问内容频率最低的会被清理出 CDN 缓冲中,导致冷资源还会重新回源站获取。例如: jpg|bmp|gif 图片类型缓存 7 天,mp4|flv|ts 视频类型缓存 30 天需要注意:当CDN主动更新文件时可能会造成服务器压力上升,因为厂商的服务器会有很多,同时拉取更新资源时,请求量会很大。如果恰好处于业务高峰期需要和CDN厂家协商更改拉取时间。2、去问号回源说明:只缓存 URL 中的问号 ? 前路径中的地址资源,而不再缓存整条 URL 地址资源。优点:只缓存住主要的资源内容,忽略掉问号后的经常变化的参数,有利于提高缓存命中率,减少回源带宽。缺点:问号后如果有不同的内容版本号来区分资源,去问号缓存可能会影响实际访问效果,从而导致访问到旧资源。例如: http://www.youku.com/test.mp4… , 配制去问号缓存 http://www.youku.com/test.mp4 做到只缓存这个URL地址资源。3、开启 CDN 父层说明:CDN 父层是指相对于边缘节点的上层再加了一个共享存储池,用来将多个 CDN 边缘节点的请求汇聚到父层,由父层再回源站获取资源。优点:由父层统一回源站,可以起到收敛多个 CDN 边缘节点的请求。做到合并请求,减少回源带宽。缺点:父层的部署地区并不是离客户最近的机房线路,由父层回源链路过长可能会被线路抖动产生回源失败。父层故障可能会导致多个 CDN 边缘节点无法获取到回源信息,影响面也较大。4、开启 CDN 分段(分片)回源(缓存)说明:CDN 分片回源是指将一份文件拆分成若干个小文件回源。优点:通过识别不同类型的文件大小,来调整分片的大小。将客户第一次请求,由分片服务自动将资源的请求拆分成若干个分片,最终将分片缓存在边缘或父层中。缺点:分片服务在第一次无论客户请求过程中是否断开,都会将请求进行分片回源。产生较多的请求次数,增加源站的HTTP请求连接数。例如:以4M为分片单位,仅对点播和下载文件启用分片功能。5、多个加速域名共享CDN缓存说明:多个加速域名使用同一个源站,多个加速域名默认都会回源获取资源。优点:配制了共享CDN缓存策略,多个加速域名只会回源一次,减少回源带宽。缺点:多个加速域名的HOST会被合并成一个主要回源域名的HOST,导致记录回源域名不够清晰。6、HTTP 和 HTTPS 共享CDN缓存说明:HTTP 和 HTTPS 的 URL,默认是分别回源获取对应的资源。优点:配制 HTTP 和 HTTPS 共享缓存策略,可以减少回源次数及带宽。缺点: HTTP 的回源获取错误文件导致 HTTPS 响应错误7、限制回源带宽。说明:针对源站带宽有一定的限额,如果达到带宽上限会引起无法响应和请求到源站任何资源。优点:限制回源带宽设置阀值,可以减少回源量突增导致无法访问的异常产生缺点:会导致回源带宽突增后,导致超过回源带宽的请求失败8、用第三方云存储(或内容注入)说明:将源站迁移至第三方云存储,或CDN缓存节点作为临时存储站。优点:一次性或者临时性将源站资源上传和同步到第三方存储机构,以减少回源带宽。缺点:使用第三方云存储会产生使用成本,使用CDN缓存注入节点,将会占用上传带宽。9、CDN 预取(预热)说明:将资源提前一次性推送到CDN的边缘或者父层缓存节点。优点:只占用一次上传带宽,而推送到CDN边缘或父层的内容可直接被用户访问。缺点:需要提前获得推送资源,并且会占用上传带宽,业务繁忙时预热会导致上传带宽紧张。欢迎订阅「K叔区块链」 - 专注于区块链技术学习 博客地址:http://www.jouypub.com简书主页:https://www.jianshu.com/u/756c9c8ae984segmentfault主页:https://segmentfault.com/blog/jouypub腾讯云主页:https://cloud.tencent.com/developer/column/72548

December 26, 2018 · 1 min · jiezi

完爆 Best Fit,看阿里如何优化 Sigma 在线调度策略节约亿级成本

摘要:2018 年“双 11”的交易额又达到了一个历史新高度 2135 亿。相比十年前,我们的交易额增长了 360 多倍,而交易峰值增长了 1200 多倍。相对应的,系统数呈现爆发式增长。系统在支撑“双 11”过程中的复杂度和难度呈现指数级形式上升趋势。作为阿里巴巴全集团范围的容器调度系统,Sigma 在“双11”期间成功支撑了全集团所有容器(交易线中间件、数据库、广告等 20 多个业务)的调配,是阿⾥巴巴运维系统重要的底层基础设施。Sigma 已经是阿里全网所有机房在线服务管控的核心角色,管控的宿主机资源达到百万级,重要程度不言而喻,其算法的优劣程度影响了集团整体的业务稳定性,资源利用率。当用戶向调度系统申请容器所需的计算资源(如 CPU 、 内存、磁盘)时,调度器负责挑选出满足各项规格要求的物理机来部署这些容器。在相同的资源需求下,调度策略的优劣决定着集群计算资源利用的水平。本文将简要介绍群体增强学习算法在调度策略优化中的应用。1.计算资源调度及在线策略当用户向 Sigma 申请容器所需的计算资源(如 CPU、Memory、磁盘等)时,调度器负责挑选出满足各项规格要求的物理机来部署这些容器。通常,满足各项要求的物理机并非唯一,且水位各不相同,不同的分配方式最终得到的分配率存在差异,因此,调度器的一项核心任务就是按照某一策略从众多候选机器中挑出最合适的物理机。在文献中,计算资源调度一般被表述为矢量装箱问题(vector bin packing problem),如果各应用的容器数量事先已知(如大促场景),调度器可一次性为所有容器生成优化的排布方案,此时问题可以表述为整数规划,可使用通用求解器或专门开发的算法来求解;如果各应用的请求陆续到达 Sigma (如日常场景),调度器需要在每次请求到达时即时(在线)生成部署决策,此时问题可表述为马尔可夫决策过程 (Markov Decision Process, MDP),原则上可以通过值迭代或策略迭代求得最优策略。最常用的调度策略包括 First-Fit (FF) 和 Best-Fit (BF)。如果使用 First-Fit算法,调度器会将容器部署到遍历中碰到的第一个满足所有要求的物理机上;而Best-Fit算法则会在满足要求的物理机中挑选分配水位最高的机器来部署容器。对于经典的 bin packing 问题(即一维矢量装箱问题),First-Fit 和 Best-Fit 的近似比均为1.7,即二者都可保证所使用的机器数不超出最优方案的170%;对于2维及以上的矢量装箱问题,理论上不存在有着明确近似比保证的多项式算法。当物理机的某个资源维度明显为瓶颈而导致其它资源维度普遍有剩余时,其有效维度可视为1,使用 First-Fit 或 Best-Fit 一般可以取得不错的分配率;而一旦瓶颈并未集中体现在同一维度,两种策略的效果就要大打问号了。除了资源维度上的要求,实际调度中还有容灾和干扰隔离上的考虑:比如同一应用的容器不允许全部部署到同一台物理机上,很多应用甚至每台机器上只允许有一个实例;某些应用之间还存在互斥关系(如资源争抢),严重影响应用的性能,因此也不允许它们被部署到同一物理机上。这些限制条件的引入,使得常用策略越发水土不服了。通过人肉反复试错,勉强扛住了多次大促建站的压力。然而,随着各业务的扩张,线上容器的规模越来越大,资源变得越来越紧张,人肉调参的效率渐渐力不从心。为了把调度同学从调参中解放出来,让有限的资源扛住更大的压力,达摩院机器智能技术实验室(M.I.T.)的决策智能算法团队和Sigma调度团队展开了紧密合作,对在线调度策略问题进行了研究,并开发了基于群体增强学习(SwarmRL)的算法。2.在线调度模型记当前待部署容器的规格为向量 p∈P,为其分配资源时集群状态为向量 s∈S , 候选物理机的集合为 A⊆A,策略可表示为函数 :S×P→A(∈)。当按策略 选择物理机 a=(s,p)来部署该容器时,该选择的即时成本为 r(a),集群的新状态 s′ 由状态量 s 、p 以及动作 a 共同决定,记为 s′=L(s,p,a) ;记后续到达的容器规格 p′, 对于在线调度,p′ 为随机量。引入折扣系数 ∈[0,1],系统的 Bellman 方程为:最优调度策略可表示为:理论上,通过随机梯度下降,我们可以在策略空间 中搜索较优的策略,但相要更进一步的优化,甚至得到全局最优策略,则需要借助其它方法,特别是当最优策略可能是 multi-modal 形式。3.群体增强学习 SwarmRL为防止策略的优化陷入较差的局部最优解,同时拥有较快的收敛速度,我们基于群体增加学习的框架来设计算法。与传统的增强学习方法相比,算法使用多个 agent 来探索问题的策略空间,且多个 agent 之间存在互相学习机制,这使得算法有了跳出局部陷阱的能力。为获取各状态值(V^^)的估计,一个准确的 Sigma 模拟器必不可少,团队内部同学基于 Sigma 的调度器开发了“完全保真”的模拟器 Cerebro 。算法首先随机初始化一群 agent 的策略,针对每个策略,通过模拟器获取相应的的状态值估计,记录当前全局最佳策略。在后续的每次迭代中,各个 agent 不断更新自身的局部最佳策略,并参照局部最佳策略与群体当前全局最佳策略,对 agent 自身的当前策略进行更新,再进行模拟,获取新策略的状态值估计,更新全局最佳策略。如此循环,直到满足收敛条件。在各个 agent 状态值的估计中,样本(多个随机抽取的集群快照和扩容请求序列)和各 agent 的当前策略被输入模拟器 Cerebro,追踪模拟时集群状态的轨迹,即可得到该轨迹的总成本;基于多个样本的轨迹总成本求平均,即得到相应策略下的状态估计值。在 SwarmRL 中,策略的演进方向与步长用“速度” (v) 来表示,速度的变化涉及局部最佳策略 (L) 和群体全局最佳策略 (G ) 与 agent 当前策略 () 的差异,并受策略惯性因子 w、本地学习因子C1(self-learning)、群体学习因子 C2 (social-learning) 等参数的调控:其中 1,2∈[0,1] 为随机量,为可行性保持映射,用于将逸出可行域的 agent 重新“拉回”可行域。在迭代中,局部最佳策略 (L) 和群体全局最佳策略 (G ) 不断更新:4.算法应用下面我们先用一个随机生成的小算例来对比一下算法的效果。算例中涉及 30 个应用(见下表),其容器规格主要为 4c8g 与 8c16g,所用宿主机的规格均为 96c512g。若在调度时,请求的顺序和数量均为已知(“上帝视角”),即进行事后排布,使用整数规划求得的最优解对应的分配率为 94.44 % (这也是所有调度策略在该算例上所得分配率的上界),共启用 15 台宿主机,具体排布方案为:现实场景中,每个请求所处顺序和容器数量仅在其到达 Sigma 时才揭晓,若采用 Best-Fit 进行动态调度,所得分配率为 70.83%,共启用 20 台宿主机,具体排布如下:若采用 SwarmRL 学习所得策略进行动态分配,分配率为 94.44%,共启用 15 台宿主机,最终容器排布如下:在该算例中,SwarmRL 学习所得策略的表现(94.44%)与“上帝视角”下最优排布的表现(上界)一致,明显优于 Best-Fit 的表现(70.83%),改进幅度达 23.61%.我们再随机生成规模较大的请求数据:共计 3K 个请求,5K 个容器,其规格分布如下图,由于该场景下整数规划模型的变量规模太大,已经无法在短时间内直接求取“上帝视角”的最优解。对比 Best-Fit (以及人肉策略),算法所得新策略的效果如下:相对于 Best-Fit,新策略节约宿主机 13 台(4.48%),分配率提升 4.30%;相对于人肉策略,新策略节约 7 台(2.46%)宿主机,分配率改进 2.36%.考虑到实际场景中应用请求到达顺序的随机性,我们随机打乱请求生成多个不同的请求顺序,再分别应用三个策略按不同的请求顺序进行动态分配:Best-Fit 在不同请求顺序下宿主机数量的极差为 39 台,相对人肉策略的 84 台而言,表现相对稳定,其波动幅度约为人肉策略的一半;人肉策略的平均分配率低至 81.85%,对比原顺序下的 93.44%,可见人肉策略的性能并不稳定,表现出较剧烈的波动。而学习所得新策略的表现则相当稳定,其宿主机数量的极差仅为 3 台,波动幅度约为人肉策略的 30 分之一;新策略的分配率平均比人肉策略的分配率高 13.78%,比 Best-Fit 的高 3.02%.5.总结与展望从提升分配率、节省资源的角度来看,SwarmRL 算法可以产生出优于常用(以及人肉)的策略,并且有着较为稳定的表现。算法部署到线上环境后,公共资源池的分配率峰值与之前相比有了明显的提升。随着 CPU share 和混部的铺开,除分配率外,新的场景将涉及更多目标,比如打散、负载均衡等,这些目标甚至还有互相矛盾的地方,而 SwarmRL 的运行机制天然适合具有多个目标的策略优化问题,可以十分方便地在策略空间中构造 Pareto Front,因而,后续我们将继续研究新场景下的在线调度策略问题,充分挖掘 SwarmRL 的潜力,进一步提升 Sigma 的调度能力。参考文献David Simchi-Levi, Xin Chen and Julien Bramel (2014). The Logic of Logistics: Theory, Algorithms, and Applications for Logistics Management (3rd ed). SpringerRichard S. Sutton and Andrew G. Barto (2017). Reinforcement Learning: An Introduction. The MIT PressHitoshi Iima, Yasuaki Kuroe and Kazuo Emoto (2011). Swarm reinforcement learning methods for problems with continuous state-action space, IEEE ICSMCYossi Azar, Ilan R. Cohen, Amos Fiat and Alan Roytman (2016). Packing small vectors. SODA'16Yossi Azar, Ilan R. Cohen, Seny Kamara and Bruce Shepherd (2013). Tight bounds for online vector bin packing. STOC‘13本文作者:amber涂南阅读原文本文为云栖社区原创内容,未经允许不得转载。 ...

December 7, 2018 · 2 min · jiezi

预防cdn链接失效,无缝切换本地文件

如今的前端项目追求的不仅仅是能用能看的程度,而是愈发追求项目的性能,对用户体验的影响。而现在的开发工具在性能优化方面也替我们做很大一部分的工作,想必大家对CDN的使用都是轻车熟路了,但是大家有没有考虑过,万一我们使用的CDN服务器,地址啥的出现了问题,导致我们引用的CDN文件都拿不到了,那么我们的项目崩溃了,天了噜,崩溃了。因此我们得考虑下,引用CDN的文件拿不到了,应该有相应的处理方案,而不会直接导致我们项目崩溃。想必大家都能想到的处理方案就是:如果引用CDN的文件出错了,拿不到,那么我们就引用本地相对应的文件。有人肯定会说,这样处理会导致项目体积变大的。对,是的,没有错,会使项目体积变大,但是这种处理总不会直接导致项目崩溃的,给用户的体验能更好一点,牺牲这么一点点是值得的。很多事情都是没有绝对的情况,都是相对的,这就需要我们自己去权衡了。话不多说,直接进入正题。下面以Vue项目为列:当然是我们项目的启动页/index.html <script src=“https://cdn.bootcss.com/vue/2.5.15/vue.min.js"></script> <script>!window.Vue && document.write(unescape(’%3Cscript src=”./static/js/vue.min.js"%3E%3C/script%3E’))</script> <script src=“https://cdn.bootcss.com/vue-router/3.0.1/vue-router.min.js"></script> <script>!window.VueRouter && document.write(unescape(’%3Cscript src=”./static/js/vue-router.min.js"%3E%3C/script%3E’))</script> <script src=“https://cdn.bootcss.com/axios/0.18.0/axios.min.js"></script> <script>!window.axios && document.write(unescape(’%3Cscript src=”./static/js/axios.min.js"%3E%3C/script%3E’))</script> <script src=“https://cdn.bootcss.com/element-ui/2.4.9/index.js"></script> <script>!window.Element && document.write(unescape(’%3Cscript src=”./static/js/element-ui-index.js"%3E%3C/script%3E’))</script> <script>!window.Element && document.write(unescape(’%3Clink href="./static/css/element-ui-index.css" rel=“stylesheet”%3E%3C/link%3E’))</script> <script src=“https://cdn.bootcss.com/qs/6.5.2/qs.min.js"></script> <script>!window.Qs && document.write(unescape(’%3Cscript src=”./static/js/qs.js"%3E%3C/script%3E’))</script> <script src=“https://cdn.bootcss.com/vuex/3.0.1/vuex.min.js"></script> <script>!window.Vuex && document.write(unescape(’%3Cscript src=”./static/js/vuex.min.js"%3E%3C/script%3E’))</script>下面就在啰嗦几点,看懂的慢走,不送啦。不太懂的再瞅瞅。1)、不用担心会全部加载,出现重复的情况,不信邪的自己去NetWork里验证。2)、!window.Vue、!window.VueRouter、!window.axios、!window.Element、!window.Qs、!window.Vuex这些都是些什么鬼? 那是第三方库暴露出来的方法名。也可以去看看我之前 “配置webpack中externals来减少打包后vendor.js的体积” 这篇文章。3)、对js文件的处理都是这样的,但是对css文件应该怎么处理呢。 眼尖的已经看到了,上面那段中已经写出来。4)、心细善于思考的你,还会发现,其实对css文件的处理还是存在问题的。 因为难以直接判断出CDN上的css文件是否成功加载,所以直接用js文件加载完成的判断方式,打包一起处理。这样如果CDN上的整个Element-UI出现问题,那js和css都可以加载本地的。最坏的情况是,CDN上的css文件很不巧的出现问题了呢? 那就让凉吧。没办法。。。哈哈哈因为对于css文件的处理,暂时没有想到好一点的处理方案,所以目前只能先这样统一处理。不可否认对css处理这里是存在问题的。如果你有更好的处理方案,欢迎评论告知我,谢谢。 当然文中有不当的地方,也欢迎大家指正,谢谢。

November 30, 2018 · 1 min · jiezi

WEB站点性能优化实践

进行优化前,关键是剖析当前的web性能,找到性能瓶颈,从而确定最需改进的地方;如果精力有限,首先将精力放在能明显提升性能的改进点上;《高性能网站建设指南》提出了一个性能黄金法则:只有10%-20%的最终用户响应时间花在了下载HTML文档上;其余的80%-90%的时间花在了下载页面中的所有组件上。案例说明:优化之前的网站规模:2个js、一个页头、一个页脚;3个css;类型:博客类站点;后台逻辑简单;首页不到10个sql查询;首页html文档52kb;第一步:后台优化,启用页面缓存;实验站点首页后台逻辑并不复杂,不超过10个Sql查询,通过查看时间线,本站在获取HTML文档时,花费的时间不到总响应时间的20%,优化之前没有使用缓存,所有的数据都是从数据库读取,这里,我们使用静态页面缓存,将首页整个页面完全的存放在缓存中(关于YII静态页面缓存的使用,参考这里);通过查看html文档的生成时间来检测优化效果;首字节时间为376ms;html生成的时间大大缩短,后台时间减少了一倍。优化前:优化后:WEB站点性能优化实践(加载速度提升2s) 性能优化 建站教程 第2张第二步,DNS域名解析加速:DNS解析是用户访问站点的第一步,在此之前,你的网站无法做任何事情;站点的DNS解析时间不应该超过500ms,如果站点原始DNS解析时间过长,就该考虑考虑使用第三方解析加速服务;实验站点的原始DNS解析较慢,平均耗时1017ms,算是非常长的;对于DNS加速,可以使用DNS域名解析加速服务,本站点采用的国内的一款免费DNS加速服务DNSPOD,效果还不错,使用后平均耗时降到370ms;加速前测试:平均解析时间:1017ms使用DNS域名解析服务之后的测试:370ms第三步:使用CDN加速;采用第三方CDN加速,时间缩短到2.1s;从下图中看到主要的耗时在于并行下载的个数有些低,如果能够提升并行下载量的个数,那么整体加载时间就会降低;注:个人建议,启用CDN最好放在最后一步,等将站点本身的优化都做完了之后,再启用CDN可以明显的看到优化效果。(开启CDN后,由于有CDN缓存的原因,观测站点的本身的优化就不是很方便了);第四步,采用多台服务器提高并行加载量:原理:一个浏览器对与同一域名的并行下载的个数默认是2个, HTTP.1.0中规定的是4个。这样,我们可以使用不同的域名来提升下载的速度;观察上图中的下载数量,第一次并行下载的个数是4个,初始认为是浏览器对于同一个域名来源的下载所限导致;于是考虑将部分静态文件分别放在不同的服务器上;通过把css和js放在不同服务器上;结果并不理想,发现并未提高速度。想到在哪曾看到过,浏览器必须得把放在页头的css和js下载完成了之后才会开始下载其它的静态组件;关于并行下载这点上,后续将继续实验是否还有优化的空间。第五步,合并脚本和样式表;本站首页使用了2个js和3个css。如果采用朴素复制的方式,将js和css都分别整合到一个文件中,不但操作麻烦,而且不方便后期的管理。网络上有不少合并的工具,本站采用了CSS和JS合并优化工具-minify(下载地址:http://code.google.com/p/mini…。如果使用的YII框架,更有YII整合版(minscript Extension),简单几步的配置,就自动将页面所有的js和css文件合并;关于minscript Extension的使用,请参考:https://bitbucket.org/TeamTPG…第六步,压缩css/js/html/xml;不同的web服务器设置方式有所差别,本站使用的Linux/apache,在web根目录下的.htaccess文件中添加以下代码即可:<ifmodule mod_deflate.c>AddOutputFilter DEFLATE html xml php js css</ifmodule>通过firefox工具可看到,压缩前,html文档的大小是25KB;合并后的js大小为138KB;压缩后,html文档大小为6.2KB。js大小为39.8KB;减少2/3的传输时间;第七步,最大化的减少HTTP请求;添加Expires头, 启用静态内容缓存,将jpg、gif等文件缓存;方法也是在.htaccess中添加:<ifmodule mod_deflate.c>AddOutputFilter DEFLATE html xml php js css</ifmodule>结论查看最终的测试结果,整体实现了较大的性能提升,最终页面展现时间为1.62s(测试使用的是一个第三方web测速工具,所有测试结果是在第三方本地无缓存的条件下进行)。仔细观察本站最后几个加载项:有一个第三方网站的广告(加载广告的时刻,页面已经全部呈现,对用户体验影响不大),以及cnzz的统计数据。这样看来,在第12项加载完后,整个页面就完整的呈现在用户面前,优化最终结果是1.1s,较优化前加载速度提升2s;由于物理条件(虚拟机、国外站点)所限,本次优化就到此为止(后续将在并行下载上做做文章,看是否有进一步提升空间)。原文链接:http://www.html-js.com/articl…

November 7, 2018 · 1 min · jiezi

这份优化清单,你做了哪些?

引言 大家好,这里是@IT·平头哥联盟,我是首席填坑官——苏南(South·Su),今天是国庆节的第二天,这个假期没有外出(不要问我为什么,自己脑补~????),前些天分享了一篇前端面试汇总的文章,有些同学在群里问了其中的一些细节,其中大家最关心的性能优化这块,今天整理了公司项目中的一些认为不错的点,跟大家一起分享,如有理解错误,请纠正。优化概括1、首先最基本的,CSS样式表放在页面头部Head内且link链式引入,javascript放在底部body结束标签前避免阻塞。2、js/html/css/图片都做压缩合并,图片预加载、懒加载,也是老生常谈了,在这里推荐一个图片无损极限压缩的工具,能压小60~80%左右,比较麻烦的是每次要手动操作——TinyPNG,有兴趣的同学了可以了解一下他们的API,自己封装一个服务调用压缩,不过免费次数有限制哦。3、减少DOM元素数量,减少DOM的操作:减少 DOM 元素数量,合理利用:after、:before等伪类,避免页面过深的层级嵌套;优化javascript性能,减少DOM操作次数(或集中操作),能有效规避页面重绘/重排;如何才算少?抱歉,这个没有办法给出一个标准精确的答案,只能说尽可能去做优化,如数据分页、首屏直出、按需加载等。4、静态资源CDN分发:CDN的意图就是尽可能的减少资源在转发、传输、链路抖动等情况下顺利保障信息的连贯性;通俗的讲就是CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上———曾经人们都说距离产生美,后来变了都说距离产生小三,在这里距离产生的是用户跑路了,所以足以说明CDN的重要性;CDN采用各节点缓存的机制缓存很严重,当我们项目的静态资源(只是之前存放在cdn上的资源)修改后,如果CDN缓存没有做相应更新,则看到的还是旧的网页,解决的办法是刷新缓存,七牛云、腾讯云都可单独针对某个文件/目录进行刷新;广告常说:XX酒虽好,可不要贪杯哦,CDN托管也是如此,合理使用:图片、常用js组件、css重置样式等,即不常改动的文件即可走CDN,包括项目内的一些介绍页;img标签要设置高宽,同样这么做它也能减少页面重绘/重排,使用 WebP 格式图片,它能对原图(png)做到近98%压缩,当然它也不是完美的:WebP最初在2010年发布,目标是减少文件大小,支持无损、有损压缩,动态、静态图片,压缩比率优于 GIF、JPEG、JPEG2000、PNG 等格式,非常适合用于网络等图片传输,现在开始已经被越来越多的浏览器支持,当然 WebP 格式也有它的缺点,算法相对其他格式更加复杂,会在节省流量资源的同时会占用计算资源,对计算机造成更大的负担,WebP支持的像素最大数量是16383x16383。有损压缩的WebP仅支持8-bit的YUV4:2:0格式。而无损压缩(可逆压缩)的WebP支持VP8L编码与8-bit之ARGB色彩空间。又无论是有损或无损压缩皆支持Alpha透明通道、ICC色彩配置、XMP诠释数据,更详细支持说明:caniuse.com优势:体积小几乎可以毫不夸张的说,已经小的不能再小了;小而美的同时,还质量好,几乎看不出来与原图差别;曾经的动态图gif、jpeg压缩都会不清晰,但现在对它来说都是so easy~。缺点/困难:目前并不是所有浏览器都支持WebP,因此需要解决浏览器适配问题;<br/>对于已上线的项目,采用WebP需要替换大量图片,工作量太大(不确定后台程序是否能搞定)。5、域名拆分:什么叫拆分域名?很多公司初始项目搭建,都只申请了一个域名,站点的所有内容(html/php/jsp、js、css、img等都放在一个域名下),域名拆分主要为了增加浏览器资源请求的并行度即并发问题,让浏览器能同时发起更多的请求,也解决了请求默认携带的cookie问题,减少了数据传输字节;如何拆分?以现在前后端分离式开发为例,建议分为三大类:前端类 - 项目业务本身的htm、css、js、图标/片等;静态类 - 即上述提到的CDN资源类;动态类 - 可归为后端API接口类;以下为各浏览器请求并发数,数据来源于chorme搜索,珍爱生命,远离某……????:浏览器HTTP/1.1HTTP/1.0Chrome66火狐66Safari44IE1166IE91010………………6、 减少http请求次数是的,你没有看错,就是减少http请求次数,节省网络请求时间,但你可能又会问,前面不是让拆分域名吗??一个是部署拆分,一个是请求减少,没毛病哦;首先我们来了解一下http的请求过程(简单通俗的阐述一下):DNS 域名解析 - 1. 拿出电话,找到某个接头人的号码;发起 TCP 的 3 次握手 - 2. 接通后暗号:A)、你好,你好,我是长江一号,请问能听到吗?B),你好,我是长江二号,能听到你讲话,你能听到我说什么吗?A)、能听到,我们开始讲正事吧……;正常数据传输中…… - 3. 聊的很嗨;结束传输断链的 4 次挥手 - 4. 聊完了,准备告别:A)、(可以是服务端,也可以是客户端)该说的我都说完了,你自己看着办吧;B)、好的我也说完了;B)、(B紧接着又跟A发了条信息),再见;A)、然后A收到B的话,而B那边已经放下手机挂了,A等了一下听B没有再说啥,也就挂了(挂个毛啊,婊子无情,戏子无义,陪你唠嗑这么久,都不给个好评~????);当然,现在的HTTP/2.0的处理有所不同,2.0过程还有TLS/SSL的处理,HTTP是超文本传输协议,信息是明文传输,HTTPS则是具有安全性的SSL(Certificate Authority,申请证书)加密传输协议,HTTPS加密传输、身份认证的网络协议,内容传输经过完整性校验、内容经过对称加密,每个连接生成一个唯一的加密密钥、第三方无法伪造服务端(客户端)身份等众多优势,同时也有劣势因为做的事情多了中间对接的次数同样需要时间,这也是HTTPS更慢的根本原因。上两图吧,这样大家看着清晰一些,但暂时只列了HTTP/1.0的,HTTP/2.0的图下次有时间再补,是有一个大佬指点我的哦,说这样看起来更骚气,大家会更喜欢,哈哈~:结论:从上面的这个过程可以看出,每一次请求都这么复杂,减少http的请求次数是不是很有必要呢??答案是肯定的,我们会以以下几个维度来进行优化:合并 JS、CSS 文件;图片/图标 sprites 合并,或使用iconfont字体图标,或者SVG Sprites;什么是Svg Sprites?;资源按需加载,即当前页面用到什么,就加载什么,避免加载与当前页面无关的事情,这一点现在的React/Vue/Angular等MVVM框架,基于webpack编译打包工具,做的很好;前端数据的缓存(如:一个列表页,进入详情,再返回,这个用户的交互行为是很频繁的,可以对列表的数据进度一个缓存,不用每次返回都进行加载,比如5分钟更新一次。7、 数据设置缓存,好累写不动了,http缓存的设置,之前的面试汇总????如何设置http缓存?吧;8、 站点服务端开启Gzip压缩,当然还可以了解一下Brotli 或 Zopfli ,据说 Brotli 比 Gzip 和 Deflate更有效,有兴趣的同学可以了解一下;8、 避免重定向,尽量减少 iframe 使用,它会阻塞主页面的渲染;9、 避免使用CSS Expression(css表达式)又称Dynamic properties(动态属性);10、 合理使用dns-prefetch、prefetch、 preload、 defer、async:dns-prefetch:使用dns-prefetch对项目中用到的域名进行 DNS 预解析,减少 DNS 查询,如: <link rel=“dns-prefetch” href="//honeybadger8.github.io"/>;BAT各大巨头都是这么干的,请看下图,dns的详细解析过程今天先不讲了,码字码不动了,写分享比加班做项目还累,望体谅~;prefetch: 它是一个优先级非常低的资源加载标识,浏览器会在空闲时(即主进程资源加载完成后)下载带有 prefetch标识的资源并缓存到disk,在后续模块使用到这个文件的时候,会直接从缓存读取;该功能webpack有个插件,配置后编译能自动插入到页面上;preload:没错,它就是一个可以预加载资源的属性,详细说明请看官方API,一般情况下我们可能会对接下来的业务需要的audio、img、font、script等资源进行预先加载(甚至是下一个路由页面哦),这样能达到0秒打开页面的效果!暂时就想到这么多了,欢迎补充……总结:推荐几个工具:WebPagetest、Lighthouse、SpeedCurve、New Relic 等主动/被动监测工具,都能高效帮助我们分析发现问题的所在,从而对症下药;DNS预解析的是非重要的,它是一个url到解析IP,到查询根服务器的一个过程,可能会在下一次单独总结出来分享,有兴趣的同学也可以自行先了解一下,要把一个项目做好,每一个细节都很重要,希望今天的分享能给大家的工作带来些许帮助,谢谢!文章分享计划: 最近一直在思考,如何有规化的分享工作中的积累,国庆这些天也一直看了很多大神写的博客,最后综合自身的能力及时间,决定先尝试写一个# 动画 #系列文章,动画可能主要包含(CSS/Canvas)两部分,欢迎大家持续关注! 以上就是今天的分享,新手上路中,我会努力让自己变得更优秀、写出更好的文章,文章中有不对之处,烦请各位大神斧正。如果你觉得这篇文章对你有所帮助,请记得点赞哦~。作者:苏南 - 首席填坑官来源:@IT·平头哥联盟链接:https://honeybadger8.github.i…交流群:912594095[资源获取/交流群]、386485473(前端) 、260282062(测试)本文原创,著作权归作者所有。商业转载请联系@IT·平头哥联盟获得授权,非商业转载请注明原链接及出处。 ...

October 15, 2018 · 1 min · jiezi

CDN 的下一站是啥?边缘计算!

你是千千万万的创业者之一;????你志向远大,有抱负;????经过和家人/女友的唇枪舌战,一番折腾,你的公司轰轰烈烈地成立了;????开头,你只有你的兄弟;????初期,你们设计产品,准备上线,见一些客户推广产品;????兄弟几人齐心协力,互相帮助;????突然有一天,你的团队被某个大公司/风投相中,融资了!????你兴奋得不行,白天见客户,晚上修 BUG,某天照镜子发现:头顶秃了一块!????不得了,不得了,你突然意识到,每天有忙不完的事情,你该招人了;????于是,随着事业越做越大,人越招越多,终于逐渐有了公司的样子。????为了保证公司的正常运营,先后创立了研发部、产品部、市场部、财务部、人事部等;????当然了,初期他们不了解产品,你是要操心的,谁让你是创始人呢?????每天各个部门都有人问东问西,所有大小事情都要你定主意;????虽然有时候很烦,毕竟是自己打拼下来的,都要耐心回答他们;????但是,每件事都要亲力亲为,时间经常不够用;????渐渐的,你看出了哪些员工有发展前途,嗯,是时候可以培养成部门负责人了。????于是,每个部门都有了一个合格的负责人;✌他们每天管理各自手下的员工,小事情完全可以自己做主了;????每天及时汇总一些重大的事情和重要的信息交给你;????公司终于开始正常运转了~????——这个故事的内核是:什么事情都交给中央服务器来处理,是不现实的。你的故事讲完了,下面轮到我的了。今天我们主要来说一个最近很新兴的技术——边缘计算,其实就是上面故事中里的部门负责人。边缘计算 VS 云计算提起云计算,你一定熟悉的不能再熟悉了。云计算侧重在“云”,而边缘计算则侧重在“端”。拿开头的故事来说,你就是“云”,而各个部门的负责人就是“端”。具体来讲,边缘计算是将数据的处理、应用程序的运行,甚至一些功能服务的实现,由中心服务器下放到网络边缘的节点上。边缘计算是一种优化应用程序或云计算系统的技术,它将应用程序的数据或服务的某些部分从一个或多个中心节点(“云”)转移到另一个逻辑端点(“边缘”)。例如自动驾驶车辆,植入式医疗设备,其他物联网(IoT)领域及移动设备,通过在边缘进行执行分析和知识生成,使控制系统与中央数据中心之间的通信带宽减少。简单来说,就是将需要低延迟的计算机程序放在更接近请求的位置,从而降低了传输成本,缩短了延迟并提高了服务质量(QoS)。那么相较于云计算,边缘计算有哪些优势呢?优势一:实时性边缘计算使得联网设备能够处理在“边缘”形成的数据。最近“自动驾驶”也掀起了一番热浪,其实自动驾驶汽车本身就是一台高性能计算机,它需要通过大量的传感器来收集数据。为了安全可靠地运行,它需要立即对周围的环境做出反应,处理速度有任何延迟都有可能是致命的。利用云计算,虽然数据处理主要是在云端进行的,但在中央服务器之间来回传送数据可能需要几秒钟的时间。数据传输的时间跨度太长了。边缘计算在“即时计算”的需求下,就有了用武之地,它让自动驾驶汽车在车辆端更快速地处理数据成为可能,不需要在车辆和云端之间来回传输数据。优势二:智能性网络里面有大量的功能在边缘节点就可以直接处理掉。类似你公司的部门负责人,并不用事事禀报于你,他们就可以直接说想法,定计划,实现目标。传统的架构一些功能都需要回到中央服务器处理,但是现在在边缘就能直接处理并返回对应的结果。例如:身份验证,日志过滤,数据整合,图像处理和 TLS(HTTPS)会话设置等等。优势三:数据聚合性一台物理设备运行往往产生大量的数据,可以先在边缘进行过滤,然后汇总到中心再做加工,这都是利用边缘的计算能力。还是用那个故事举例,公司的各个部门负责人也总有拿不定主意的时候,他们会汇总各自的部门面临的问题和一些困难,汇报给你,这样你看到的是他们整理过的很直观的数据。这也是边缘计算的优势之一。边缘计算,CDN 的未来2017 年亚太 CDN 年会上,又拍云创始人、董事长刘亮为作了题为《边缘计算,推动业务创新》主题演讲,主旨是:边缘计算是 CDN 的未来。如今的 CDN 网络拥有遍布各地、接近用户的庞大服务器集群,自然成为了优势明显的边缘计算资源。随着技术的不断更迭,CDN 有了更多的智能化元素,包括分布式和低延时计算。与此同时,CDN 发展推动下的计算机富余力联同物联网、5G 等背景因素,为边缘计算的发展滋养了土壤。在 CDN 1.0 时代,CDN 以传输为主,从部署在互联网服务提供商(ISP)的边缘节点(POPs)传输网页内容。2.0 时代,CDN 能对网络做一些简单处理,以缓存软件为核心,同时配套负载均衡、日志分析、DNS 等服务。3.0 时代,CDN 开始具备智能调度特征,融合最新的网络技术,如 P2P 技术、清洗中心、高清技术,以及了 GSLB、VPN(虚拟专用网络)、WAAS(广域网加速业务)等。目前的 CDN 已经不仅仅局限于加速的功能,也可以胜任图片/视频的处理、人工智能等工作。在传统的架构上面,图片的处理要到中心,但是现在直接在边缘根据用户自定义的规则就把相应的内容直接返回了。边缘计算与 CDN 结合的优势根据 CB Insights (知名大数据调研机构)调研结果显示,到 2022 年,全球边缘计算市场估计将达到 6.72 亿美元。虽然是一个新兴技术,但在云计算运营的某些领域,边缘计算可能会更有效率。在 CDN 行业,利用边缘计算来提升自身竞争力都是不错的选择,边缘计算能够助力 CDN 更智能、高效和稳定。缓解成本压力边缘计算能够减缓数据爆炸,网络流量的压力。在向中心服务器传输数据时通过边缘节点进行一部分简单数据处理,进而能够减少设备响应时间,减少从设备到云端的数据流量。(以直播为例,同城互动放到边缘节点处理,成本可能会减少 50% )。智能调度资源满足实时化、智能化的需求对终端设备的数据进行筛选,充分利用设备的空闲资源,在边缘节点处过滤和分析,同时也降低了单点故障的可能性。例如,如果公司使用集中式云来存储其数据,突然服务中断,那么在问题得到解决之前数据将无法访问,并可能导致严重的业务损失。减少对云的依赖也意味着某些设备可以暂时脱离云端可靠地运行。并且就算当前边缘节点故障也可以调度到其他边缘节点进行服务,这样无疑保证了服务的可用性。又拍云在边缘计算的实践:容器化经过多年沉淀,又拍云目前拥有 6 个数据处理中心、300 多个国内自建节点、15 个海外 CDN 节点、5000 台服务器、5TB+ 保有带宽、日均请求超过 1000 亿次。基于以上的积累,在服务过程中,又拍云可以将源站内容分发至全国节点,解决网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。作为以 CDN 为主营业务的互联网极速服务商,又拍云扮演了互联网护航者和加速者的角色,一直在做 CDN 在边缘计算领域的实践:容器化。又拍云容器云平台基于 Mesos + Docker + UPone + Slardar 构建,日均运行 Docker 容器 2000+,日均请求 3亿+,全面支持传输层和应用层服务。方案优势上,主要有以下几点:1. 多年 Docker 经验——基于 Mesos + Docker + Upone + Slardar 构建,支持底层服务、应用层服务。2. Docker 节点多、覆盖区域广300+ Docker 节点资源。3. 高可用从调度中心、容器节点、实时监控等多个维度保证服务的高可用。4. 多线节点支持更多运营商支持电信、联通、移动、华数、长城宽带等。5. 同网、跨网自动调度对同网 IP 提供同网 Docker 节点,对跨网 IP 提供跨网 Docker 节点。6. Docker 自动化更新——Docker 专属镜像仓库,通过 API 更新镜像,自动更新全网 Docker。又拍云“容器云”服务已经服务了智能飞行器、智能家居、安防(智能摄像头)、游戏、电商等领域的诸多厂商,想要了解更多边缘计算和容器云的小伙伴可前往容器云 - 全球首家分布式容器云平台 ...

September 29, 2018 · 1 min · jiezi