架构师技术联盟的业务多活架构和分布式CAP实战,单元化的学习笔记
单元化是大型互联网系统的必然选择趋势,举个最最通俗的例子来说明单元化。
我们总是说 TPS 很难提升,确实任何一家互联网公司(比如淘宝、携程、新浪)它的交易 TPS 顶多以十万计量(平均水平),很难往上窜了。
因为数据库存储层瓶颈的存在,再多水平扩展的服务器都无法绕开,而从整个互联网的视角看,全世界电商的交易 TPS 可以轻松上亿。
这个例子带给我们一些思考:为啥几家互联网公司的 TPS 之和可以那么大,服务的用户数规模也极为吓人,而单个互联网公司的 TPS 却很难提升?
究其本质,每家互联网公司都是一个独立的大型单元,他们各自服务自己的用户互不干扰。
这就是单元化的基本特性,任何一家互联网公司,想要成倍的扩大自己系统的服务能力,都必然会走向单元化之路。
它的本质是分治,我们把广大的用户分为若干部分,同时把系统复制多份,每一份都独立部署,每一份系统都服务特定的一群用户。
以淘宝举例,这样之后,就会有很多个淘宝系统分别为不同的用户服务,每个淘宝系统都做到十万 TPS 的话,N 个这样的系统就可以轻松做到 N*十万的 TPS 了。
LDC(logic data center)相对于传统的(Internet Data Center-IDC)提出的,逻辑数据中心所表达的中心思想是无论物理结构如何的分布,整个数据中心在逻辑上是协同和统一的。分布式系统的挑战在于整体协同工作(可用性,分区容忍性)和统一(一致性)。
LDC 实现的关键就在于单元化系统架构设计,所以在蚂蚁内部,LDC 和单元化是不分家的,这也是很多同学比较困扰的地方,看似没啥关系,实则是单元化体系设计成就了 LDC。
小结:分库分表解决的最大痛点是数据库单点瓶颈,这个瓶颈的产生是由现代二进制数据存储体系决定的(即 I/O 速度)。
单元化只是分库分表后系统部署的一种方式,这种部署模式在灾备方面也发挥了极大的优势。
网友评论