分布式系统架构及理论

随着计算机科学的发展,计算机系统规模也变得越来越大,从原有的集中式系统逐渐地向分布式系统发展。比较典型的就是阿里巴巴集团的“去IOE”运动,现在这个工作还没有彻底完成,部分项目还在使用的是 ORACLE 数据库。

集中式的特点

所谓的集中式系统就是指由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中在部署在这个中心节点上,系统的所有功能均由其集中处理。

分布式的特点

分布式系统的定义:分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间通过消息传递进行通信和协调的系统。注:定义来源于《分布式系统概念与设计》
在软件开发中,直观的理解就是把一个大型的软件拆分成多个模块,每一个模块放在不同的网络服务器上,每个模块通过网络相互传递消息。

标准分布式一般有下面几个特征

  • 分布性:分布式系统的多台计算机在空间上随意分布,同时,机器的分布情况也会随时变动
  • 对等性:分布式系统中的计算机没有主从之分,所有的计算机节点之间都是对等的。
  • 并发性:分布式系统中,可能会并发的操作多个节点
  • 缺乏全局时钟:在分布式系统中,很难定义两个事件谁先谁后。
  • 故障总会发生:组成分布式系统的所有计算机,都有可能发生任何形式的故障。

分布式事务

事务是由一系列对系统中的数据进行访问与更新的操作所组成的一个程序执行逻辑单元,狭义上的事务特指数据库事务。事务具有四个特性:

  • 原子性 (Atomic)
  • 一致性 (Consistency)
  • 隔离性 (Isolation)
  • 持久性 (Durability)

在标准的 SQL 规范中,定义了 4 个事务隔离级别:

  • 读未提交
  • 读已提交
  • 可重复度
  • 串行化

在单机数据库中,能够很容易实现一套满足 ACID 特性的事务处理系统,但在分布式数据库中,数据分散在各台不同的机器上。因此,分布式事务可以被定义为一种嵌套型事务,同时也具有 ACID 事务特性。

由于在分布式事务中,各个子事务的执行是分布式的,因此要实现一种能够保证 ACID 特性的分布式事务处理系统就格外复杂。

CAP 定理

CAP理论:一个分布式系统不可能同时满足一致性(C: Consistency)、可用性(A: Available)和分区容错性(P: Partition tolerance)。这三个需求,最多只能同时满足其中的两项。

一致性

在分布式环境中,一致性是指数据在多个副本之间能够保持一致的特性

可用性

可用性是指系统提供的服务必须一直处于可用的装态,对于用不的每一个请求总是能够在有效的时间内返回结果。返回的结果指的是系统在完成用户请求的处理后,返回一个正常的响应结果。

分区容错性

分布式系统在遇到任何网络分区故障的时候,任然需要能够保证对外提供满足一致性和可用性的服务,除非是整个网络发生了故障

BASE 理论

BASE 是 Basically Available(基本可用)、Soft state(软状态)和 Eventually consistent(最终一致性)三个短语的简写。

基本可用

基本可用是指分布式系统出现故障的时候,允许损失部分的可用性,具体是指

  • 响应时间的损失
  • 功能上的损失
弱状态

弱状态也称为软状态,和硬状态相对,是指允许系统中数据存在中间状态,并认为该中间状态的存在不会影响系统的整体可用性。

最终一致性

系统中所有的数据副本,在经过一段时间同步后,最终能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。

总结

BASE 理论面向的是大型高可用可扩展的分布式系统,和传统的 ACID 特性相反,它完全不同于 ACID 强一致性模型,而是提出通过牺牲强一致性来获得可用性,并允许数据在一段时间内不一致,但最终达到一致性。

1
说点什么

avatar
1 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
0 Comment authors
Recent comment authors
  Subscribe  
最新 最旧 得票最多
提醒
匿名
游客
匿名

总结的还可以

相关文章

开始在上面输入您的搜索词,然后按回车进行搜索。按ESC取消。

返回顶部