集中式架构与分布式架构

参考:从Paxos到Zookeeper分布式一致性原理与实践(倪超)

集中式

有中心服务器概念。数据集中存放在单台数据库中,业务系统集中部署在单台服务器上。

集中式的最大优点是部署简单。

分布式

概念:分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此仅仅消息传递进行通信和协调的系统

特点:分布性、对等性、并发性、无全局时钟、随机故障

说白了,分布式系统面临的最大挑战有两个:

通信协调

可靠的通信系统是分布式系统运行的基石,这一块现在的解决方案是Kafka。

协调的核心要义是实现分布式事务,解决方案是Zookeeper。

分布式事务

事务是“一系列对数据的读写操作”,事务具有ACID的特性。

ACID:原子性、一致性、隔离性、持久性

原子性:要么全部成功,要么全部失败

一致性:从A账户划100到B账户,A账户必须减100,同时B账户必须加100。而不能A账户减100,同时B账户只加50。

隔离性:事物之间不会发生相互干扰。

持久性:事务一旦成功就永久生效,不会丢失。

事务的ACID特性在集中式系统中是依赖“数据库内置事务”来实现的。在分布式系统中实现的方案有如下两种:

1、使用现有的分布式数据库技术,例如Mycat中间件技术、HBase分布式数据库。

2、借助Zookeeper实现分布式事务(实际上HBase的分布式事务实现部分也是基于Zookeeper)。

分布式系统有三个基本需求:一致性、可用性、分区容错性。

其中分区容错性是指,分布式系统的网络被划分为若干个子网,子网内节点属同一广播域。这样子网间通信可靠性大大低于子网内通信。在子网间通信中断的情况下系统仍能够提供一致性和可用性服务,这就叫分区容错性。

CAP定理:任何分布式系统最多只能满三个基本特性中的两个。

BASE理论:分布式系统很难达到强一致性(ACID),但可以采用适当方式满足BASE(基本可用、弱状态、最终一致性)

Zookeeper

Zookeeper的核心价值是实现分布式事务,即采用ZAB的一致性协议在分布式系统中实现一致性。

介绍:Zookeeper是一个典型的分布式数据一致性解决方案。分布式应用程序可以基于它实现诸如数据发布/订阅,负载均衡、命名服务、分布式协调通知、集群管理、Master选举、分布式锁、分布式队列等功能。Zookeeper可以保证如下分布式一致性特性:顺序一致性,原子性,单一视图、可靠性、实时性。













猜你喜欢

转载自blog.csdn.net/yongyu_it/article/details/81026069