分布式架构认识

        互联网时代,计算机系统规模越来越大,所有业务集中部署在一个或多个大型机上的结构已经不能满足现在的需要。随着微型计算机的出现,廉价PC机成为架构首选。随着业务的不断发展,用户访问量的迅速提高,计算机系统的规模也在不断扩大,单一大型机进行系统扩容比较困难,因此分布式处理方式越来越受到业界的青睐。

集中式特点
       集中式系统有一台或多台主计算机组成中心节点,数据集中存储在中心节点,所有业务也部署在中心节点,所有功能集中处理。部署结构简单,无须考虑多个节点之间的分布式协作问题。
分布式特点
       分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。有如下几个特点:
  • 分布性:空间上随意分布,分布情况随时变动;
  • 对等性:没有主从之分,节点对等,副本是常见概念之一;
  • 并发性:可能会并发操作一些共享资源,如何准确并高效的协调分布式并发操作是分布式系统架构与设计中的最大挑战之一;
  • 缺乏全局时钟:很难定义两个事件的先后顺序;
分布式环境的各种问题
通信异常
       分布式系统需要在各个节点之间进行网络通信,伴随着网络不可用的风险,因此消息丢失和消息延迟变得非常普遍。
网络分区
       网络异常会导致组成分布式的所有节点中,只有部分节点之间能进行正常通信,另一些不能,这个现象称为网络分区,俗称“脑裂”,此时分布式系统会出现局部小集群,对分布式一致性提出了非常大的挑战。
三态
分布式系统的请求与响应存在特有的“三态”概念:成功、失败与超时。
节点故障(宕机)
分布式事务
     单机数据库中很容易实现一套满足ACID特性的事务处理系统,但在分布式数据库中,数据分散在不同的机器上,分布式事务处理是很不容易的。分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于分布式系统的不同节点上,通常一个分布式事务会实际对多个数据源或业务系统的操作。一个分布式事务可以看作是由多个分布式的操作序列组成的,一系列分布式操作序列称为子事务,各个子事务的执行是分布式的,所以保证ACID特性的分布式事务处理系统就会额外复杂。
CAP和BASE理论
CAP理论:一个分布式系统不可能同时满足一致性(C:Consistency)、可用性(A:Availability)和分区容错性(P:Partition tolerance)这三个基本需求,最多只能同时满足其中两项。
一致性:分布式环境中,数据在多个副本之间能够保持一致。
可用性:服务必须一致处于可用状态,用户的每一个请求都能在有限的时间内返回结果。
分区容错性:任何网络分区故障时人能够保证对外提供一致性和可用性的服务,除非整个网络瘫痪。
BASE理论:Basically Available(基本可用)、Soft state(软状态)、Eventually consistent(最终一致)。
基本可用:在系统出现故障时允许损失部分功能——响应时间上的损失(由0.5秒延迟至1秒)、功能上的损失(服务降级),绝不等价于系统不可用。
软状态:也称弱状态,与硬状态相对,允许系统的数据存在中间状态,但不影响系统的整体可用性,即数据副本之间进行数据同步过程存在延时。
最终一致性:系统中所有数据副本经过一段时间同步最终达到一个一致状态,不需要实时保证数据的强一致性。
       计算机系统从集中式向分布式变革伴随着分布式网络、分布式事务和分布式数据一致性等内在的一系列问题,这些问题现在也都得到了很好的解决,出现了很多开源的好工具,我们还要继续学习。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章