阿里云:大型互联网应用架构之分发和存储实践

1月31日,阿里云课堂在北京再次开课,聚焦于“大型互联网应用架构之分发和存储”的技术和实践分享。由阿里云Web平台组研发专家姚伟斌(花名:文景)和阿里云飞天存储服务研发高级专家李文兆担任讲师。14:00点不到,架构师、工程师和实践用户已经将260人的会场挤的满满当当,最后进来的小伙伴们只好站在了后排的通道中。现场为何如此火爆?这和议题密切相关。CDN和存储,前者是提升用户满意度,留存率和转化率的关键,后者是云计算最基础的服务之一。二者的重要性自然不言而喻。

阿里云CDN技术演变之路

众所周知,在国内如此错综复杂的网络环境(中国电信、联通、移动、中国教育网、铁通等)中,要将源站内容分发到全国所有节点,缩短用户查看对象的延迟,提高用户访问网站的响应速度和网站的可用性,解决网络带宽小、用户访问量大、网络分布不均等问,只能依靠内容分发网络(CDN)。

阿里云Web平台组研发专家姚伟斌

CDN的用途:

加速:如图片、css、js等,视频流媒体,动态内容,SSL、SPDY等;

源站保护:如4、7层DDoS攻击防御,WAF等。

CDN如此重要。以至于在最初的图片CDN应用之后,2008年淘宝已着手建立自己的CDN。多年积累下来,一线机房布局完整,技术也比较成熟。2014年3月,阿里云正式商用CDN时,已经发展至数百节点,覆盖30多个国家,单节点10台机器拥有40Gbps吞吐能力。海外也已经有30多个节点。微博、唱吧、雪球都是CDN服务的典型用户,效果对比极为明显。2015年,姚伟斌表示:“图片CDN和阿里云CDN,逻辑配置和节点都已经共享,一切都在云上。”

CDN加速原理

仔细看CDN关键组件,可以分为以下几个部分:

IP库:APNIC、Maxmind等数据源多样,通过淘宝收货的IP地址进行校正;ECS?用户可以免费调?用。

调度系统:通过地域和监控实现调度。

节点缓存系统:内存、SSD、SATA三级缓存,支持各种尺寸的文件,热点实现自动迁移,访问速度快。

配置系统:按需加载、更新,10万域名的配置约消耗500M内存,全网分钟级别的配置?生效,高可靠、可运维。

刷新系统:Notify机制,利用cache下载,自定义hash key,支持多副本刷新等。

日志系统:支持多台目标服务器负载均衡,10分钟左右即可将线上日志传到OSS,每天数百T的离线日志写入ODPS进行数据分析。

姚伟斌还重点介绍了应用加速方案,包含TCP协议栈优化,动态内容加速(内容优化、路由优化),视频和大文件,无线加速等。值得注意的是,CDN和安全往往密不可分。在4层和7层DDoS攻击防御时,CDN和云盾(阿里云安全服务)的配合尤为密切。姚伟斌举了一个7层攻击的案例:“日前,针对一个小站突然遭受了攻击,响应约15KB,规模约15万QPS,阿里云抵挡了99.4%的攻击,节省了17G的流量,有效保证了用户的服务。”

开放存储架构以及应用实践

作为阿里云最基础的云服务之一,开放存储服务(OSS)是基于飞天平台,提供“高可用性、高可靠性,海量的对象数目,任意大小数据对象,公共服务,安全”的存储服务。李文兆在题为“开放存储架构和应用实践”的分享中,重点谈到了OSS的设计原则:硬件故障透明,数据的多份拷贝分布在不同机架/机房,易扩展(容量扩容,自动应对爆发式访问),各层都要考虑到安全。

阿里云飞天存储服务研发高级专家李文兆

开放存储服务架构是用户请求到云盾,再到负载均衡,然后是前端的协议接入层(协议处理、访问控制、QoS),数据访问层(分区、索引),持久存储层(持久、冗余、容错)。

其中主要概念有四个:

Service:OSS提供给用户虚拟存储空间,每个用户拥有一个到多个Bucket(普通用户最多10个)。

Bucket:Bucket是OSS的命名空间,Bucket Name在整个OSS具有全局唯一性。

Object:在OSS中,每个文件都是一个Object。

AccessKeyID、AccessKeySecret:安全标识,为访问OSS做签名验证。

具体来看:

Bucket在功能方面,包含创建/修改/读取/删除,ACL(私有、开放读,开放读写),防盗链,访问日志归档,异地数据容灾(如杭州、青岛、北京、香港等数据中心都部署了OSS,在某地创建之后,备份到其他节点)等。

Object在功能方面,也包含创建/修改/读取/删除,Multipart Object与断点续传,URL签名,Put与Post不同使用场景等。

为了加深大家对OSS的使用感受,李文兆特别举了一个例子:

手机端图片云存储的企业架构优化图

一家互联网创业企业,业务是手机端图片云存储。比如帮助用户在本地存储缩略图,节省手机空间;提供云照片冲印等。创业之初,他们的IT架构很简单,通过阿里云的虚拟机,搭建Web App Server,最初2-3台的时候可以,但扩展到40-50台的时候,计算资源和存储节点都不够用(因为云磁盘限制在8TB,数据在向上扩展,需要继续横向扩展磁盘)。而最初他们的架构这方面考虑的不多,如果在云磁盘的基础上增加,一方面存储容量扩容有限,另一方面存储性能扩展需要修改,最关键的是图片尺寸和类型各异带来处理极为费劲。这样情况下,通过OSS和技术上的优化,实现了架构的改变。数据直接从用户端上传到OSS,AppServer只是控制流,所以带宽可以节省下来。通过URL签名,帐号密码等都存储在App Server上,用户需要服务的时候,App Server在几秒钟或者几分钟有效的方式,返回到手机端,通过手机端写入,非常安全,而且节省带宽。当用户数量越来越多,为节省资源提升服务,可以做读写分离,读通过CDN和存储(图片服务),实现图片压缩和类型转化。

总结下来就是:

用OSS解决存储瓶颈;

用图片动态服务生成各种图片;

读写分离;

弱安全容器访问OSS;

表单提交和跨域访问;

数据单走OSS减少VM台数;

Cname屏蔽OSS域名,保持了切换的灵活性。

不止如此,通过阿里云的北京、青岛、杭州、深圳、香港的数据中心,企业还能轻松实现异地容灾和就近回源。事实上,OSS作为阿里云的基础服务,目前已经应用的十分广泛:不仅有微盟、有道、得图这样的创业公司,还有联想、宏基这样的传统企业,以及公安部、贵州政务系统等。

精彩问答

阿里云课堂为架构师、工程师和实践用户们留下了充足的与讲师的互动时间。在提问环节,小伙伴们的问题质量都很赞,专家们的回答同样极为精彩。

问:CDN如何支持游戏架构?没有对特定行业做优化?

答:目前阿里云CDN更多是针对场景来做的产品,比如分发,动态链路优化等。是针对手游、页游、端游等游戏,其中如安装包下载(流量大),网页的动态加速,四层攻击的防御等都是共性需求而涉及的。

问:服务上线之前都需要做测试。阿里云的产品测试是用迭代压力还是线上来做?设计的架构是怎么样的?

答:在研发方面都需要测试。开发软件要有单元测试的覆盖率,要到50-60%。开发做测试后,会提交给QA进行黑盒测试,然后放到日常环境(完全测试环境),用应用来做流量测试。最后才会放到线上,做几个几点的灰度测试,看功能;然后节点慢慢增多,最终做到全网。

问:面对可以预计的剧增的访问量,如何在上线之前,保证架构设计的弹性?有没有什么经验可以分享?

答:在系统设计之初,要预留一个一个数量级来准备。比如CDN刷新系统,几千的量级,但可支持到几万。在配置系统方面,1-2w,而跑到100w是可以的。CDN能否服务1000个节点,100万的用户等,要用目标来设计系统。而随着用户的增多,一些特殊需求也要持续优化。比如淘宝CDN重视的是稳定性和服务能力,而阿里云面对海量用户,设计点是不同的。所以摄制之初,要有预留。

问:CDN和云盾的关系?

答:架构是一致的。尤其是在防4层,500GB以上的攻击规模。CDN前面是有特殊设备做抵挡的,发现攻击做清洗后才会转到CDN上。7层,云盾也和CDN密切配合。WAF也是。

问:CDN服务如何计费?是分发区域,文件大小,带宽占用等么?

答:我们是按照流量计费和按照峰值带宽两种计费模式。

问:流媒体,传统CDN做静态视频放到CDN上。直播类的场景如何解决?

答:M318和TS文件。对延迟较为敏感。预设到CDN中。RTMP等方式也在测试中。

问:存储方面有没有其他的文件转换服务?比如PDF转成PPT,还有视频转化服务?

答:图片转换服务是有的。视频转码服务已经在公测,很快会对外商用。PDF转成Word等,还没有,但要看需求,后面会考虑。

问:怎么看待TFS?

答:TFS在业内也有很多企业在用。我知道的就有企业自己搭建的TFS用了一百来台这样的机器。但随着规模的扩大确实遇到了一些问题,现在和我们沟通,想迁移到OSS上。

问:S3实现了弱一致性。而OSS是三份写入实现强一致性。如何考虑的?

答:我们确实做到的了强一致。就是说写下去以后它的数据就是一致的。写是一个过程,要注意提高它的存储和数据写入的一致性。当写到数据中心的时候,已经有3份备份了。比如说我们的城市被光缆因为各种原因被断了,可以将数据从杭州同步到北京,或者更远同步到美国来保证数据的安全。

问:服务器ECS是否建立在存储上面?磁盘的性能包括存储的性能,他们中间的读写是多少?有没有限制?比如说在ECS限制上是多少?

答:我试着回答一下,最好是到阿里云官网直接找客服。ECS不是建立在OSS之上的,其是建立在一套类盘古的,可以随机插写的一套分布式文件上面,也就是说它的虚拟机本身的存储是建立在类盘古的分布式文件系统上面的,OSS是HTTP的协议出去的。那套类盘古的文件系统可以理解为直接加载进去就是块设备,所以其性能跟OSS的性能是无法比较的。

最后,针对大家关注的两位专家的PDF,目前还需简单修改,确认后将发布到CSDN下载中。

时间: 2024-10-25 21:37:04

阿里云:大型互联网应用架构之分发和存储实践的相关文章

如何站在双11的肩膀上 详解阿里云企业级互联网架构

摘要:2015天猫双11全球狂欢节以912.17亿元的答卷完美收官.双11当天14万笔/秒的交易创建峰值和8.6万笔/秒的支付峰值双双刷新了世界纪录,相比首届双11,订单创建峰值增长了350倍,支付峰值增长了430倍.天量数字的背后,是中国计算能力的登顶全球. 阿里云计算总裁胡晓明表示,阿里巴巴承载双11的计算能力和... 2015天猫双11全球狂欢节以912.17亿元的答卷完美收官.双11当天14万笔/秒的交易创建峰值和8.6万笔/秒的支付峰值双双刷新了世界纪录,相比首届双11,订单创建峰值增

阿里云发布互联网大学,跨越人才培养高门槛,强壮中国云计算生态力量

10月12日,杭州云栖大会.阿里云官方培训与认证平台--阿里云大学(https://edu.aliyun.com)联合国内知名IT在线教育机构对外正式发布"阿里云互联网大学",将会重点打造基于网络化的人才培养矩阵,在今后三年内为强壮中国云计算生态力量,输送数十万具有云上应用能力的真正可用之才! 云栖大会,已成为中国乃至全球具有巨大与深远影响力的科技盛典!在今年的大会中,阿里巴巴集团正式宣布,成立承载"NASA计划"的实体组织--"达摩院",进行基

云上“私人定制” 这些明星企业都用了阿里云企业级互联网架构

1月6日,阿里云(http://click.aliyun.com/m/1866/)宣布旗下企业级互联网架构核心组件--企业级分布式应用服务(简称EDAS )正式商用,这也是国内首款商用的大规模企业级分布式应用服务. 对很多向互联网转型的大型企业和创业公司来说,传统的构架与指数增长的互联网在线业务无法匹配,当用户达到亿级的时候,网站过载.性能瓶颈.重复开发已经成为业务发展瓶颈,而传统的一些组件也难以适应互联网业务需求. "互联网的问题要用互联网的架构来解决,"企业级互联网架构负责人蒋江伟

阿里云飞天技术总架构师唐洪:飞天技术与应用

一年一度的阿里技术论坛(Alibaba Technology Forum)已走进第7个年头,4月15日,阿里众多技术领军人走进清华校园.通过特设的三大技术论坛,参会人员近距离接触了阿里巴巴在云计算.大数据.金融.电商等方面的技术创新. 在云计算与大数据论坛上,来自阿里云飞天技术总架构师唐洪带来了以<飞天技术与应用>为主题的深度分享.下面是精彩内容内容整理. 图:阿里云发展历程 飞天是阿里云自主研发的大规模分布式云操作系统 飞天设计原则 在开始介绍飞天技术前,唐洪和现场观众分享了当初判断要做云计

中化集团牵手阿里云拥抱互联网+ 打造领先的化工行业B2B垂直电商

中化集团牵手阿里云拥抱互联网+  打造"化工天猫"   5月17日,中国中化集团公司(以下简称"中化集团")宣布:旗下首个化工品B2B一站式垂直电商平台--"壹化网"(1chemic.com)正式上线运营.这一采用企业级互联网架构.构建在公共云上的平台代表着中化集团与阿里云的合作结出硕果.   "壹化网"创新地引入了阿里巴巴经过1688.淘宝.天猫等电商系统十年磨练的企业级互联网架构,用不到100天的时间完成了平台搭建.经过4

阿里云SDN/NFV之架构与实践

摘要:在10月23日阿里云网络技术演讲上,来自阿里云网络产品团队孙成浩(花名:梵叶)分享了<阿里云SDN/NFV之架构与实践--一次自然的技术演进>.作为网络产品团队中负责产品相关的技术架构架构师,他结合阿里云的网络云产品探讨了阿里云虚拟网络的网络技术架构,并且结合SDN和NFV分享了阿里云的思考和实践. 他的演讲内容主要分为三个方面:1.为什么抽象出来了SDN和NFV的概念,如何一步一步摸索出这两套架构 2.如何理解SDN和NFV?.3未来的SDN/NFV架构上的展望.以下是本次演讲上的发言

深入剖析阿里云推荐引擎——新架构,新体验

摘要:本文的整理自2017云栖大会-上海峰会上阿里云算法专家郑重(卢梭)的分享讲义,从2016年2月V2.0公开使用到现在,阿里云推荐引擎有了更大的进步.有着获取排序的在线计算,修正匹配的近线计算及匹配排序的离线计算的计算机架构. 在2017云栖大会-上海峰会上,阿里云算法专家郑重(卢梭)做了题为<深入剖析阿里云推荐引擎--新架构,新体验>的分享.相比于22016年推出的阿里云推荐引擎V2.X,阿里云推荐引擎V3.0在业务,场景,流程,AB Testing,计算架构及算法架构上都有了很大的提高

上云培训课程:在阿里云上进行通用架构设计

课程名称:在阿里云上进行通用架构设计   课程代码:ACA21201   课程介绍:云平台架构是指将ECS / SLB / RDS  / OSS / OCS / OTS / ODPS / CDN等云平台服务按照业务场景对不同资源类型的需求以合理的关联关系组合在一起.而架构设计是指按照业务需求选择最优的云平台服务部署对应的系统或存储对应的资源,并结合各个云平台的服务特性设计出高性能.高可用的组合方案,以最终满足业务系统运行的需求.本课程从理论.产品.技术.实践多角度结合,深入讲解如何在阿里云上进行

“光谷创意-阿里云”移动互联网孵化器发布会

摘要: 一.活动时间: 2014年11月25日 09: 00-11: 00 二.活动地点: 武汉东湖新技术开发区关山大道465号中国光谷创意产业基地B座1层17排剧院 三.阿里云简介: 阿里云是阿里巴巴集团旗下公司,一.活动时间: 2014年11月25日  09: 00-11: 00 二.活动地点: 武汉东湖新技术开发区关山大道465号中国光谷创意产业基地B座1层17排剧院 三.阿里云简介: 阿里云是阿里巴巴集团旗下公司,是全球首家获得云安全国际认证金牌(CSA STAR Certificati