《架构师》2016年5月
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

热点|Hot

如何在云平台构建大规模分布式系统

作者 王煜

【编者按】在云计算环境中,当用户业务面对流量激增、数据量翻番、访问量指数级攀升的“烦恼”时,如何利用云计算平台的弹性,结合业务自身特点,设计和构建一个高可用、高伸缩性的后端系统架构?本文以真实案例为背景,讲述从简单后端系统到大规模分布式系统的演进之路。

光快速扩容是不够的

很多企业和开发者在开发一款产品时,首要考虑的是产品功能的实现,其后端架构通常都是非常简单直接的。产品在刚上线初期,由于用户访问压力很小,数据量积累也并不大,在短时间内都会运行良好。

然而如今移动互联网的普及和成熟,让一款产品很可能在短时间内聚集大量用户,面对流量激增、数据量翻番、访问量指数级攀升等诸多“烦恼”,这本来是一件好事,可是如果后端系统不能及时扩展,势必会造成响应缓慢,频繁出错甚至拒绝服务的情况。

即便没有上述系统压力突然增大的“烦恼”,产品在不断开发升级的过程中,各种功能模块会变的越来越复杂,如果不能很好的梳理和组织后端架构,系统出错崩溃、不可使用的风险也会越来越大。

在没有云计算的时代,物理硬件从采购、上架、插线,到安装、调试、部署,再到真正投入使用,是一个漫长而耗费人力的过程,往往跟不上系统紧急扩容的节奏。而云服务的出现不仅仅让我们节约了使用成本,更重要的是可以利用云计算极度弹性的特点,让企业和开发者根据需求,对系统进行在线快速的扩容。

但仅仅在云服务上快速扩容是不够的,企业也需要在业务层面,关注各个系统组件的可用性和伸缩性。如何利用云计算的优势,结合企业的业务特点构建稳定可靠的分布式系统。