突破!阿里云CDN实现毫秒级全网刷新
通常在某网站使用了CDN节点来实现内容分发加速后,当源站内容更新的时候,CDN刷新系统会通过提交刷新请求将CDN节点上的指定缓存内容强制过期。当用户访问的时候,CDN节点将回源获取最新内容返回给用户,并在缓存节点更新资源。传统CDN刷新的生效时间通常需要数分钟,并且随着服务节点的数量和形态增多,生效时间会线性变长。
在这种情况下就会遇到这些问题:当媒体网站发表了一篇内容有错误的文章,因为刷新系统缓慢,无法第一时间修订或撤回;在电商大型促销活动期间,产品活动详情页的图片需要实时更新,因为不能及时刷新CDN缓存,最新的详情页无法第一时间更新到全网,可能会影响用户下单。诸如此类的以上问题可能会带来一定的信誉或业务损失。
毫无疑问,想要避免以上问题,CDN刷新系统需要在源站内容更新后同时刷新CDN节点的缓存,确保源站内容与CDN缓存内容尽量保持一致。
实际上,阿里云CDN每天为超过百万的域名加速,承接数十亿次的刷新,想要打破常规刷新速率壁垒,会面临以下几个技术挑战:
第一, 实时性,在如此大数据量的背景下,需要解决如何将消息快速传播至全网的问题
第二, 可靠性,在复杂的公网传输链路之下,需要有效应对网络拥塞,确保传输的低延时和稳定性
第三, 可扩展性,随着业务增长,CDN节点增多,要解决刷新时长不会线性增长的问题,在不进行中心扩容的情况下依然保持刷新速率,提供“无感”的刷新体验
针对以上几个技术难点,阿里云CDN技术团队进行大量协议优化与实践,最终达成突破性进展,实现了全网平均刷新生效时间低至毫秒级。也就是说在当客户源站内容发生更改,不到1秒时间内,全网用户已经可以访问到最新内容了。这套系统实现了真正的消息指数级广播,可以有效应对刷新系统缓慢带来的信息更新不及时等问题,极大地提升了客户内容的全网刷新速率,进而提升网民访问体验。同时,刷新系统采用log(n) base(a) 的收敛速度,可以做到数万级别的节点下刷新时间依旧保持在毫秒级,不线性增长,保障了服务节点飞速增长情况下的全网刷新。后续该能力将会面向阿里云CDN客户开放。
除此以外,阿里云CDN目前有全球2500+节点,120T带宽储备,依托CDN智能调度系统、精准可控的水位预测技术、全链路容灾保障等能力,经受住一次次双11晚会、春晚直播等大型互联网直播的考验,同时在去年夏天俄罗斯世界杯期间承担了全网70%的世界杯流量。阿里云618《上云拼团接力赛》,CDN预付费资源包低至8.5折,更新用户满返6000元,点击抢购
本文作者:樰篱
本文为云栖社区原创内容,未经允许不得转载。
突破!阿里云CDN实现毫秒级全网刷新的更多相关文章
- C#调用阿里云CDN API刷新缓存
使用CDN必须要解决CDN缓存的问题,要么在每次更新文件时生成不同的URL,要么在每次更新文件时刷新CDN缓存.我们在一个实际应用场景中用到了后者,所以需要调用阿里云CDN的API进行缓存刷新的操作. ...
- 阿里云 CDN 业务基于边缘容器的云原生转型实践
导读:本文基于边缘容器的阿里云 CDN 云原生实践, 涵盖了边缘容器的背景和趋势,边缘托管集群 ACK Managed Edge K8s(文中简称“Edge@ACK”) 的能力.架构,以及基于边缘容器 ...
- 阿里云CDN边缘脚本EdgeScript公测:简单语法完成CDN复杂配置
CDN可以将源站内容分发至最靠近用户侧的节点,使得用户就近获取内容,提高用户的访问成功率和效率.作为CDN运维工程师,他的日常工作就是通过CDN系统的配置和管理,来确保CDN业务正常运转,以此来保障网 ...
- 阿里云CDN技术掌舵人文景:相爱相杀一路狂奔的这十年
导读:提到阿里云CDN,不得不提技术掌舵人姚伟斌(文景),虽然他不是团队中最“老”的同学,但他却历经了淘宝业务发展最为飞速的几年,见证了从最初服务淘宝和集团内部的CDN,到如今国内服务客户最多的云CD ...
- 阿里云CDN上线 WAF,一站式提供分发+安全能力
CDN是业界公认的加速网站访问效率.提升用户体验的内容分发加速产品.Gartner预测2019年超过50%的互联网流量将通过CDN内容分发网络进行加速. 然而,越来越多企业也意识到恶意网络攻击对非凡用 ...
- 云计算之路-阿里云上:访问阿里云CDN上的图片,自动跳转到百度首页
昨天有用户向我们反馈一篇博文(一条语句导致CPU持续100%)中的部分图片不能显示,我们的图片访问用的是阿里云CDN,原以为是某个CDN节点不稳定的问题,但在排查时发现这些图片不能显示竟然是因为请求时 ...
- 阿里云-CDN
1.什么是CDN 内容分发网络,意思是将内容(静态资源,如文件等)缓存到全球加速节点,用户请求这些内容时,请求将调度到最近的CDN节点,加快了访问速度. 2.CDN原理 1.用户(北京)向www.a. ...
- 通过AccessKey调用阿里云CDN接口刷新CDN资源案例
通过AccessKey远程调用阿里云CDN接口,快速实现自动化集成部署. CdnService.java package com.nfky.cdn; import com.aliyuncs.Defau ...
- 阿里云CDN+OSS完成图片加速
我们使用React Native开发APP,在列表中显示图片时,列表框经常出现长时间的空白.经过稍微研究和参考其他人的经验,我们知道React Native的ListView以及后来改进版的FlatL ...
随机推荐
- LUOGU P3435 [POI2006]OKR-Periods of Words
传送门 解题思路 首先求出kmp,那么i-nxt[i]一定是一个周期,对于每一个点一直跳nxt,跳到最小的nxt之后用i-这个nxt即为i这个前缀的答案. 代码 #include<iostrea ...
- HTML5中的数据集dataset和自定义属性data-*
在html5中可为所有元素添加一种自定义的属性,这种属性的前缀以data-开头,比如:data-name,目的是为元素提供与页面渲染无关,但与dom元素强相关的属性.添加完自定义属性后我们可以通过元素 ...
- hdu 2586 (lca-RMQ)
#include <iostream> #include <cstdlib> #include <cstring> #include <queue> # ...
- JEECMS自定义标签开发步骤
JEECMS自带的只有[@cms_advertising]标签,并且官方没有给文档,用法: [@cms_advertising id='3'] <img src=&quo ...
- 基于jQuery实现页面滚动时顶部导航显示隐藏效果
<!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="UTF-8& ...
- vmware 安装 黑群晖
先做一个启动盘 然后竟然启动不了 算了 不管了,去网上找个别人做好的吧 添加硬盘的时候,需要选择sata, 比如安装6.2需要这个版本的引导,就直接选中这个,因为我自己做的启动盘不管用,也不知道为嘛 ...
- [待验证]使用hibernate注解忘记引入mapping导致的问题
这个问题好像是注解主键的时候,主键没有设置为int型,我设置了个string(想直接用uuid)导致的 后来学习了一下,这个主键的注解,生成策略有很多种,换成别的,就可以使用string类型 编译报错 ...
- 基础篇-1.4Java流程语句的基础
1 条件语句 条件语句,即类似 if...else... 的语句,一个if语句包含了一个布尔表达式,以及一个或多个语句. if语句语法 if(布尔表达式) { // 布尔表达式为true时执行的语句块 ...
- 学习线程池源码--ScheduledThreadPoolExecutor
1. 创建ScheduledThreadPoolExecutor ScheduledThreadPoolExecutor继承自ThreadPoolExecutor,实现了Schedule ...
- web服务发展历程
PhP发展历史1.php: 开始名字含义:personal home page 个人网页 现在名字含义:HyperText Perprocessor 超文本预处理语言 预处理: 说明PHP是在服务器预 ...