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接入方式。


原文链接
本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/518901.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020 年最新版 68 道Redis面试题,20000 字干货,赶紧收藏起来备用!

作者 | ThinkWon责编 | 徐威龙来源 | CSDN 博客封图| CSDN 下载于视觉中国Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库。Redis 可以存储键和五种不…

异常检测的N种方法,阿里工程师都盘出来了

阿里妹导读:互联网黑产盛行,其作弊手段层出不穷,导致广告效果降低,APP推广成本暴增。精准识别作弊是互联网公司和广告主的殷切期望。今天我们将从时间序列、统计、距离、线性方法、分布、树、图、行为序列、有监督机器学习和深度学…

TalkingData的Spark On Kubernetes实践

众所周知,Spark是一个快速、通用的大规模数据处理平台,和Hadoop的MapReduce计算框架类似。但是相对于MapReduce,Spark凭借其可伸缩、基于内存计算等特点,以及可以直接读写Hadoop上任何格式数据的优势,使批处理更加高效…

ORACLE使用批量插入100万测试数据

CREATE TABLE test_data (ID varchar2(32),NAME1 varchar2(9),NAME2 varchar2(100),NAME3 varchar2(100) ); COMMENT ON TABLE test_data IS 测试表;beginfor i in 1 .. 1000000 loopINSERT INTO "DCA"."TEST_DATA" ("ID", "NAME1", &…

阿里技术男的成长史:越想证明自己死得越快……

在上海工作8年后,身为部门经理的钱磊,管理着一家ERP公司的百十来号员工,“再往上爬就是老板和他儿子了……从这个领域的技术角度来讲算是做到了顶。”05年,钱磊就开始关注一家名字奇怪,做事也奇怪的公司。 要不要折腾…

程序员1w5以下的,2020年就要面对现实了...

BOSS直聘最近发布,“互联网行业30%新增岗位,全都是技术岗!各公司开启了新一轮抢人计划”。大家在这个春招一定有很多目标,找到理想工作,换个大房子住,给爸妈多寄点钱,给女朋友换个新手机……CSD…

对话亲历者|鲁肃:我在支付宝“拧螺丝“的日子

对话亲历者:他是支付宝技术平台的奠基人之一,但是他总说“这还不是我心中最完美的架构”;他行事低调但却有着“此时此地,非我莫属”的豪气;他曾无数次充当救火大队长,但自评只是“没有掉队的那个人”。 在2…

Flutter高内聚组件怎么做?阿里闲鱼打造开源高效方案!

fish_redux是闲鱼技术团队打造的flutter应用开发框架,旨在解决页面内组件间的高内聚、低耦合问题。开源地址:https://github.com/alibaba/fish-redux 从react_redux说起 redux对于前端的同学来说是一个比较熟悉的框架了,fish_redux借鉴了re…

AI赋能红外测温助力精准防控疫情……

文章来源:北京领邦智能装备股份公司 疫情发生以来,全国上下倾力奋战得到有效控制,科技抗疫逐渐成为有效抓手,而AI红外热成像测温仪无疑将成为抗疫一线的一把利剑,斩断疫情传播的途径。 需求引领技术变革 2003年非典后…

阿里巴巴中间件在 Serverless 技术领域的探索

Serverless 话题涉及范围极广,几乎包含了代码管理、测试、发布、运维和扩容等与应用生命周期关联的所有环节。AWS Lambda 是 Serverless 领域的标志性产品,但如果将其应用于核心业务,可能会遇到以下难题:(仅代表作者个…

从零单排HBase 02:全面认识HBase架构(建议收藏)

作者 | 阿丸笔记责编 | 徐威龙封图| CSDN 下载于视觉中国在网上看过很多HBaes架构相关的文章,内容深浅不一,直到发现了一篇MapR官网的文章,写得实在太生动了。https://mapr.com/blog/in-depth-look-hbase-architecture/#.VdMxvWSqqko&#xf…

开发函数计算的正确姿势 —— 移植 next.js 服务端渲染框架

首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源&#xff…

SpringBoot xml层SQL update之foreach循环的坑

在做二级分类批量删除置父级目录一级分类num-1时,发现数组里放了一样的pid,但是循环里只默认一个pid 145,所以只成功执行了一次num-1 可以选择在mapper接口层执行循环

Zookeeper UI管理界面安装

文章目录1. 安装java环境2. 安装maven打包环境3. 在线安装Git4. 安装zookeeper服务5. 安装zkui6. 开放防火墙7. 浏览器访问1. 安装java环境 下载 略 环境变量 export JAVA_HOME/app/jdk1.8.0_202 export PATH$PATH:$GOROOT/bin export CLASSPATH.:${JAVA_HOME}/jre/lib/rt.j…

虎牙在全球 DNS 秒级生效上的实践

本文整理自虎牙中间件团队在 Nacos Meetup 的现场分享,阿里巴巴中间件受权发布。 这次分享的是全球 DNS 秒级生效在虎牙的实践,以及由此产生的一些思考,整体上,分为以下5各部分: 背景介绍;方案设计和对比…

MySQL 狠甩 Oracle 稳居 Top1,私有云最受重用,大数据人才匮乏! | 中国大数据应用年度报告...

整理 | 屠敏出品 | CSDN(ID:CSDNnews)科技长河,顺之者昌,错失者亡。在这个技术百态之中,中国专业的 IT 社区CSDN 创始人&董事长蒋涛曾多次在公开活动中表示,开发者是对技术变革最敏感的人群。这不仅源于…

JS中split对多个分隔符的处理

关于JavaScript split() 方法,菜鸟教程是这样介绍的: split() 方法用于把一个字符串分割成字符串数组。 提示: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。 注意&#xff1…

分布式6大核心专题_分布式ID

文章目录一、号段模式1. 拉取项目源码编译2. springboot集成Leaf3. 配置leaf.properties4. 创建数据库5. 初始化表结构和数据6. 测试案例7. 浏览器测试美团Leaf的号段模式和雪花算法模式生成分布式全局唯一id方式2种 一、号段模式 目前jar在maven仓库中没有上传 1. 拉取项目源…

现代编程语言大 PK,2020 年开发者关心的七大编程语言!

【CSDN 编者按】“如果我们把人类文明想象成汽车的话,那么软件开发行业就相当于汽车的引擎,编程语言就像引擎的燃料。”作为一名开发者,需跟随技术潮流的发展来学习新技术。2020年,你有计划新学一门编程语言吗?本文作者…

一文读懂深度学习:从神经元到BERT

阿里妹导读:自然语言处理领域的殿堂标志 BERT 并非横空出世,背后有它的发展原理。今天,蚂蚁金服财富对话算法团队整理对比了深度学习模型在自然语言处理领域的发展历程。从简易的神经元到当前最复杂的BERT模型,深入浅出地介绍了深…