失效链接处理 |
Alibaba分布式核心原理解析 PDF 下载
本站整理下载:
相关截图:
主要内容:
分布式起源
单兵模式:单机模式
1946 年情人节发布的 ENIAC 是世界上的第一台通用计算机,它占地 170 平米重达 30
吨,每秒可进行 5000 次加法或者 400 次乘法运算,标志着单机模式的开始。
所谓单机模式是指,所有应用程序和数据均部署在一台电脑或服务器上,由一台计算机完成
所有的处理。
以铁路售票系统为例,铁路售票系统包括用户管理、火车票管理和订单管理等模块,数据包
括用户数据、火车票数据和订单数据等,如果使用单机模式,那么所有的模块和数据均会部
署在同一台计算机上,也就是说数据存储、请求处理均由该计算机完成。这种模式的好处是
功能、代码和数据集中,便于维护、管理和执行。
单机模式的示意图,如下所示:
这里需要注意的是,本文的所有示意图中,紫色虚线表示在一台计算机内。
事物均有两面性,我们再来看看单机模式的缺点。单个计算机的处理能力取决于 CPU 和内
存等,但硬件的发展速度和性能是有限的,而且升级硬件的性价比也是我们要考虑的,由此
决定了 CPU 和内存等硬件的性能将成为单机模式的瓶颈。
你有没有发现,单机模式和单兵作战模式非常相似,单台计算机能力再强,就好比特种兵以
一敌百,但终归能力有限。此外,将所有任务都交给一台计算机,也会存在将所有鸡蛋放到
一个篮子里的风险,也就是单点失效问题。
归纳一下,单机模式的主要问题是:性能受限、存在单点失效问题。
游击队模式:数据并行或数据分布式
既然单机模式存在性能和可用性的问题。那么,有没有什么更好的计算模式呢?答案是肯定
的。
为解决单机模式的问题,并行计算得到了发展,进而出现了数据并行(也叫作数据分布式)
模式。并行计算采用消息共享模式使用多台计算机并行运行或执行多项任务,核心原理是每
台计算机上执行相同的程序,将数据进行拆分放到不同的计算机上进行计算。
请注意,并行计算强调的是对数据进行拆分,任务程序在每台机器上运行。要达到这个目
的,我们必须首先把单机模式中的应用和数据分离,才可能实现对数据的拆分。这里的应用
就是执行任务的程序,任务就是提交的请求。以铁路售票系统为例,运行在服务器上的用户
管理、火车票管理和订单管理等程序就是应用,用户提交的查询火车票、购买火车票的请求
就是任务。
在单机模式中,应用和数据均在一台计算机或服务器上,要实现数据的并行,首先必须将应
用和数据分离以便将应用部署到不同的计算机或服务器上;然后,对同类型的数据进行拆
分,比方说,不同计算机或服务器上的应用可以到不同的数据库上获取数据执行任务。
以铁路售票系统的数据并行为例,主要包括两个步骤,如下所示:
第一步,将应用与数据分离,分别部署到不同的服务器上:
|