[关闭]
@liuhui0803 2017-04-26T19:46:16.000000Z 字数 2968 阅读 1880

数据伸缩性和可用性的实现之路

云计算 数据中心 运维


摘要:

本文介绍了通过具备自服务伸缩能力的分布式系统实现伸缩性,通过物理部署、严格的运维规程、弹性应用程序实现可用性,打造可伸缩、高可用数据存储的方法。

正文:

今天的Web世界规模还在爆发式增长着,尤其是社交网络和电子商务应用的用户数与日俱增,这也意味着我们需要处理的数据总量水涨船高。Web已经如此普遍,每个人都在用,上至二十世纪九十年代的科学家在使用Web交换科研文档,下至五六岁的孩童通过表情符号讨论猫咪。这就不得不提伸缩性。伸缩性是指洗痛、网络,或进程通过增大自身规模适应数据量增长趋势的潜力。Web拉近了人与人之间的距离,也意味着不会在遇到“停机”这样的问题。业务全天候运营,身处不同时区的买家在不断地买买买,这也对数据存储的可用性提出了更高要求。本文概括介绍了为数据提供实现伸缩性和可用性所需要采取的方法。

本文将介绍如何通过下列方法为应用程序提供可伸缩、高可用的数据存储。

伸缩性

随着Web技术的发展,尤其是Web 2.0网站的涌现,造成了数百万用户同时读写数据的情况,这种情况下,就算简单的数据库操作也不得不考虑伸缩性的问题。系统的伸缩有两种方式:垂直伸缩和水平伸缩。本文主要侧重于水平伸缩,这种方式会同时将数据以及简单的操作所产生的负载分摊/切分至多台服务器,并且这些服务器不共享内存、CPU和磁盘。虽然某些实现中磁盘和存储是共享的,但这种情况下的自动伸缩会遇到一定的挑战。

scalability-measures.1.png-839.9kB

在构建可伸缩的数据存储时,须考虑以强制的方式实施下列措施。

可用性

处理读写操作的数据存储必须高可用。可用性是指系统或组件持续运作所需的足够长时间的能力。下图列出了在架构模式、物理部署、严格的运维规程方面保障可用性,打造高可用数据存储的方法。

availability-methods.2.c.png-68.5kB

主要结论在于,为了构建可伸缩、高可用的数据存储,我们必须采用系统化的方式实现上文提到的不同方法。这些方法是必须使用,并且非常广泛的,但并不一定彻底,我们也可以根据需要使用其他方法。如果以业务增长和24/7运营为目标,并且已经实现了妥善的缩放性和高可用措施,那么将会有一片广阔的天空等待我们翱翔。

参考

图片来源:freeimageslive.co.uk – freebie.photography

作者Mansi Narula阅读英文原文An Approach to Achieve Scalability and Availability of Data Stores

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注