动静内容混合站点,怎样用全站加速支持实际业务场景?

动静内容混合站点,怎样用全站加速支持实际业务场景?

摘要: 伴随着近几年O2O的爆发,网络已经不仅是传统的展示企业品牌的渠道,而逐渐演变成为嫁接企业和用户之间服务和交流的桥梁,我们开始赋予网络更多的功能,比如购物、出行、学习、娱乐等等。 同时,网络内容形态的进阶发展,网页内容已经从静态的图片、文字向短视频、直播演变,网站和应用的内容变得越来越复杂。

伴随着近几年O2O的爆发,网络已经不仅是传统的展示企业品牌的渠道,而逐渐演变成为嫁接企业和用户之间服务和交流的桥梁,我们开始赋予网络更多的功能,比如购物、出行、学习、娱乐等等。

同时,网络内容形态的进阶发展,网页内容已经从静态的图片、文字向短视频、直播演变,网站和应用的内容变得越来越复杂。几乎所有的站点都由静态、动态两种页面组成,这就决定了交互内容更加复杂和丰富。这让很多网站的CDN内容分发加速效果不理想。

这是因为通常CDN对静态内容支持得较好,当面临动态内容请求的时候,一般会回源,源站再将内容传节点,进而传给用户,传输链路步骤增多,势必会影响速度。同时,也需要源站具备区分动静态资源的能力。为了优化动静混合站点和纯动态站点的加速效果,阿里云推出了全站加速方案,通过智能区分动静态请求,实现整站加速效果的全面提升。

动静内容混合站点,怎样用全站加速支持实际业务场景?

如上图所示,全站加速在加速方式、支持资源类型和源站适配方面,都与CDN有所不同,下面我们就来看看全站加速的技术原理和产品架构是怎样的。

全站加速技术原理和架构

阿里云CDN拥有1300多个全球节点,90T的带宽能力储备。采用先进的分布式系统架构,和完全自主研发高性能缓存软件,提供基于域名的全量实时监控和基于服务质量的智能调度,实现稳定高效的性能指标,强有力的保证了全球范围内数十万网站的极速访问和用户流畅体验。

在此背景之下,阿里云在CDN平台之上,构建了全站加速方案,融合了动态加速和静态加速,突破以往的单项加速,通过简单的配置即可智能区分动静态请求,实现整站加速效果的提升。

动静内容混合站点,怎样用全站加速支持实际业务场景?

(全站加速产品架构)

全站加速的工作原理与CDN的加速原理类似,也有所不同。传统CDN加速是静态加速,是因为我们基于的认识是网络传输速度没有本地磁盘传输速度快,所以传统静态加速是通过提高命中率来加速。当用户的请求访问到CDN边缘节点时,边缘节点对内容有缓存,就会直接从缓存读取内容返回给用户,读取的速度较快。而全站加速的工作原理分为以下几步:

第一步,区分动静态资源

通过简单的配置指定静态文件的类型、URI、请求方法、自定义http头等多种方式,灵活区分出动、静态内容。

第二步,动静态资源分别加速

通过简单的动静态资源配置规则,即可实现动态资源和静态资源的同时加速:

  • 静态资源:通过高速缓存,从就近的CDN节点获取。
  • 动态资源:通过智能选路、传输协议优化等核心技术快速回源获取。智能选路离不开网络质量的探测,实时的质量数据的模型的处理,还有最短路径等算法。一旦有了这个路径,更好的传输协议,可能是解决传输效能的关键一环,常见的方式有TCP优化,传输管道化等等。

那么该如何利用CDN全站加速能力,更好的支持实际业务场景,提升加速效果呢?为大家介绍几个典型的场景和解决方案。

场景一:电商网站复杂交互内容下的用户体验提升

电商平台包含众多线上系统和环节,如用户注册、登录、浏览商品、购物结算等,同时为了提升在线留存情况和用户购买力转化,电商平台也往往会设计丰富的交互内容和个性化的体验,网络访问速度及内容安全传输成为衡量消费体验的重要指标。然而这些复杂的动态内容会降低页面的加载速度,用户体验的流畅和新颖一时之间难以两全。

动静内容混合站点,怎样用全站加速支持实际业务场景?

(电商网站加速流程图)

针对这种情况,全站加速支持动静分离,用户一旦接入全站加速,比如html、JPG等默认是静态文件,其他就是动态文件,采用完全不同的加速策略。对静态内容进行边缘缓存,从而解决公网传输速度缓慢的问题,提升整个网站资源加载速度。

在大型活动期间,电商网站流量会激增,面对突发流量可能会导致的页面延迟、交付失败、源站过载、宕机等情况,网站的稳定可用及源站负载均衡就尤为重要。全站加速产品有稳定均衡的特性,经过了内部外部的大量测试与策略调整。

  • 第一,回源负载均衡

可以针对不同运营商的策略调整,提高网络的灵活性和可用性,再通过一系列的有序回源、QPS限速、多源主备等策略,降低源站压力和故障风险。

  • 第二,智能选路

可以通过监测CDN网络链路质量并进行有向分析,及时发现与避免运营商之间的网络拥塞和异常,选择一条最优的路径。

  • 第三,拥塞避免

拥塞有不同类型:网络上的拥塞、节点因为突发流量很大造成的拥塞等等,解决这些问题的核心的理念就是多径重试,在选路的时候,最优、次优、再次的路径选择若干条,实际传输的时候优先选择最优路径,当最优路径出现异常或问题的时候,选择次优的路再传。这样就能保证到回源的环节中,不会因为某一条路径造成用户访问的失败。

场景二:游戏场景下的实时通信高并发

游戏是动态内容实时通信高并发的典型业务场景,游戏官网、安全包下载、登录服务、游戏服务等各个环节的性能和稳定性。高峰时段玩家登录、交易、更新、运行更需要得到平滑支持。试想在一个赛季的关键阶段,几十万甚至百万用户同时在线PK,画面质量不佳、延迟、卡顿、掉线等问题都有可能导致用户的经济损失和直接流失,传统的通信协议无法满足平台性能要求。

全站加速针对游戏场景,进行了传输协议优化,有效控制拥塞,采用灵活的丢包探测重传策略,确保了动态内容的高并发。下图是第三方测试效果,红线是用户不使用阿里云加速的效果,蓝线是其他CDN加速的效果,橙线是阿里云全站加速的效果,得出结论我们的加速性能是比较稳定的,整个过程不会出现大幅波动。
动静内容混合站点,怎样用全站加速支持实际业务场景?

场景三:金融类、政企类网站数据安全受威胁

国内网络环境复杂,网站被劫持、内容被篡改的情况时有发生,仅仅使用HTTP协议传输可能会有动态内容泄露的风险,网络的高可用性和高安全性是金融、政企、票务类网站的重要诉求,交易过程主要是动态交互类内容,跨网链接不够稳定会存在风险,需要全站加速保障每一笔交易。如今,大部分站点也都想要寻求更安全高效的网络链路和内容分发途径了。

全站加速和其他CDN技术和云产品融合,支持全链路HTTPS和HTTP/2,同时,访问控制继承了CDN本身的鉴权、防盗链的策略、IP访问的控制和黑白名单等功能。同时也融合了WAF功能进行防内容泄露与篡改的控制。

排队回源这一功能是为了解决当某种类型的业务,因为大量动态请求需要回源,源站的保护非常重要。当源站无法承受突发的流量的时候,我们会针对性的提供限流、排队的策略,来保护源站。比如说票务类的网站,这种场景是十分常见的。

除了以上动静混合站点和纯动态站点,在社交网站、视频互动、企业官网与ERP系统、在线教育等业务场景中,全站加速也可以提供优于传统CDN加速方案的加速效果,助力站点和应用在激烈的竞争中立于不败之地。

动静内容混合站点,怎样用全站加速支持实际业务场景?

(社交网站加速流程图)

如何申请开通全站加速DCDN

目前全站加速DCDN服务已经在阿里云官网正式上线,点击了解详情

对应以下3个步骤,请按步骤接入:

1.开通全站加速服务

https://help.aliyun.com/document_detail/64926.html

2.添加加速域名

https://help.aliyun.com/document_detail/64927.html

3.配置CNAME,服务生效

https://help.aliyun.com/document_detail/64928.html

欢迎大家使用阿里云CDN全站加速服务!

原文链接

转载于:https://my.oschina.net/u/3735980/blog/1828962

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101612.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • group by 与 where, having以及顺序

    group by 与 where, having以及顺序1.GROUPBY子句必须出现在WHERE子句之后,ORDERBY子句之前.HAVING语句必须在ORDERBY子句之后。(where先执行,再groupby分组;groupby先分组,having在执行。)2.除聚集计算语句外,SELECT语句中的每个列都必须在GROUPBY子句中给出。count()为聚集函数,vend_id在后面groupby中有,所以select后面有。sel…

  • i2c时序图的详细讲解[通俗易懂]

     i2c简易时序图  启动信号:  SCL为高电平的时候,SDA由高电平向低电平跳变。结束信号:SCL为高电平的时候,SDA由低电平向高电平跳变。  应答信号:  I2C总线上的所有数据都是以8位字节传送的,发送器每发送一个字节,就在时钟脉冲9期间释放数据线,由接收器反馈一个应答信号。应答信号为低电平时,规定为有效应答位(ACK简称应答位),表示接收器已经成功地接收了该字节;应答信号为高电平时,规…

  • Spring Boot MyBatis注解:@MapperScan和@Mapper

    Spring Boot MyBatis注解:@MapperScan和@Mapper需求缘起:在之前的文章中,我们定义DemoMapper类,但是并没有在该类上定义类似@Service或者@Controller之类的注解,那么为什么可以被Spring管理呢?(1)方式一:使用@Mapper注解为了让DemoMapper能够让别的类进行引用,我们可以在DemMapper类上添加@Mapper注解:Java代码@Mapper…

  • 按位取反怎么运算_按位取反在线计算器

    按位取反怎么运算_按位取反在线计算器一、首先二进制在计算机的内存中是以补码的形式存储二、正数的补码=原码=反码,负数的反码=原码的取反(二进制数的符号位除外,一般来说在二进制的左边的最高位)补码=反码+1三、按位取反怎么算按位取反:二进制的每一位都取反(符号位+数据位)公式法:~x=-(x+1)举两个例子:~11=-(11+1)=-12~(-11)=10公式法的内部是如何计算的呢:以~11为例:~11的计算步骤:计算11的补码转二进制:01011计算补码:01011按位取反:10100(按位取反

  • 深拷贝和浅拷贝的区别,说法正确的是_前端浅拷贝和深拷贝的区别

    深拷贝和浅拷贝的区别,说法正确的是_前端浅拷贝和深拷贝的区别首先,明确一点深拷贝和浅拷贝是针对对象属性为对象的,因为基本数据类型在进行赋值操作时(也就是拷贝)是直接将值赋给了新的变量,也就是该变量是原变量的一个副本,这个时候你修改两者中的任何一个的值都不会影响另一个,而对于对象或者引用数据来说在进行浅拷贝时,只是将对象的引用复制了一份,也就内存地址,即两个不同的变量指向了同一个内存地址,那么在改变任一个变量的值都是该变这个内存地址的所存储的值,所以两个变量的值都会改变。一、clone()方法在Java中是用clone()方法实现深拷贝的,比如以下代码在Jav

  • php工厂模式详解

    php工厂模式详解工厂类就是一个专门用来创建其它对象的类,工厂类在多态性编程实践中是非常重要的。它允许动态替换类,修改配置,会使应用程序更加灵活。掌握工厂模式对Web开发是必不可少的。工厂模式通常用来返回类似接口的不同的类,工厂的一种常见用法就是创建多态的提供者。通常工厂模式有一个关键的构造,即一般被命名为factory的静态方法。这个静态方法可以接受任意数量的参数,并且必须返回一个对象。P

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号