分布式系统基础

1、分布式架构的演进过程 1.1 分布式架构的发展历史
1946 年情人节(2.14) , 世界上第一台电子数字计算机诞生在美 国宾夕法尼亚大学大学,它的名字是:ENIAC; 这台计算机占地 170 平米、重达 30 吨,每秒可进行 5000 次加法运算 。
ENIAC 之后,电子计算机便进入了 IBM 主导的大型机时代,IBM 大 型机之父吉恩.阿姆达尔被认为是有史以来最伟大的计算机设计师 之一 。1964 年 4 月 7 日,在阿姆达尔的带领下,历时三年,耗费 50 亿美元,第一台 IBM 大型机 /360 诞生 。这使得 IBM 在 20 实际 50~60 年代统治整个大型计算机工业,奠定了 IBM 计算机帝国的江山 。
20 世纪 80 年代,在大型机霸主的时代,计算机架构同时向两个方向发展:
(1)以 CISC (微处理器执行的计算机语言指令集) CPU 为架构的价格便宜的面向个人的 PC;
(2)以 RISC (精简指令集计算机) CPU 为架构的价格昂贵的面向企业的小型 UNIX 服务器 。
大型主机的出现 。凭借着大型机超强的计算和 I/O 处理能力、 稳定性、安全性等,在很长一段时间内,大型机引领了计算机 行业及商业计算领域的发展 。而集中式的计算机系统架构也成为了主流 。随着计算机的发展,这种架构越来越难以适应人们的需求,比如说:
由于大型主机的复杂性,导致培养一个能够熟练运维大型主机的人的成本很高;大型主机很贵,一般只有土豪(政府、金融、电信)才能用得起;单点问题,一台大型主机出现故障,那么整个系统将处于不可用状态 。而对于大型机的使用群体来说,这种不可用导致的损失是非常大的;科技在进步,技术在进步 。PC 机性能不断提升,很多企业放弃大型机改用小型机及普通 PC 来搭建系统架构 。
阿里巴巴在 2009 年发起了一项"去 IOE"运动
IOE 指的是 IBM 小型机、 数据库、EMC 的高端存储 。2009 年“去 IOE”战略透露,到 2013 年 5 月 17 日最后一台 IBM 小型机在支付宝下线 。
为什么要去 IOE?
阿里巴巴过去一直采用的是数据库,并利用小型机和高端存储设备提供高性能的数据处理和存储服务 。
随着业务的不断发展,数据量和业务量呈爆发性增长,传统的集中式数据库架构在扩展性方面遭遇瓶颈 。传统的商业数据库软件(,DB2),多以集中式架构为主,这些传统数据库软件的最大特点就是将所有的数据都集中在一个数据库中,依靠大型高端设备来提供高处理能力和扩展性 。
集中式数据库的扩展性主要采用向上扩展(Scale up)的方式,通过增加 CPU,内存,磁盘等方式提高处理能力 。这种集中式数据库的架构,使得数据库成为了整个系统的瓶颈,已经越来越不适应海量数据对计算能力的巨大需求 。
分布式系统的意义:
升级单机处理能力的性价比越来越低,单机的处理能力主要依靠 CPU、内存、磁盘 。通过更换硬件做垂直扩展的方式来提升性能,成本会越来越高 。单机处理能力存在瓶颈,单机处理能力存在瓶颈,CPU、内存都会有自己的性能瓶颈,也就是说就算你是土豪不惜成本去提升硬件,但是硬件的发展速度和性能是有限制的 。稳定性和可用性这两个指标很难达到单机系统存在可用性和稳定性的问题,这两个指标又是我们必须要去解决的 。2、分布式架构的常见概念 2.1 集群
集群()技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术 。
集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理 。一个客户与集群相互作用时,集群像是一个独立的服务器 。集群配置是用于提高可用性和可缩放性 。