分布式一致性和Zookeeper

引言

计算机的系统架构从集中式发展到了分布式

集中式特点:整个系统的业务单元都集中部署在一个中心节点上,数据也集中存储在这个中心节点上。

集中式的缺点:一旦一台大型主机出现了故障,那么整个系统将出于不可用状态;随着计算机系统的规模扩大,主机的扩容也比较困难。

分布式的特点:

  分布性:一个分布式系统中的计算机在空间部署上是可以随意分布的

  对等性:分布式系统的计算机没有主从之分,所有的计算机节点都是对等的

  并发性:一个分布式系统的多个节点,可能会并发地操作一些共享的资源,如数据库和分布式缓存

  缺乏中心时钟:在分布式系统中,很难定义两个事件究竟谁先谁后,因为缺乏一个全局的时钟序列控制

  故障总是会发生:组成分布式系统的所有计算机,都有可能发生任何形式的故障

分布式环境的各种问题

扫描二维码关注公众号,回复: 6270795 查看本文章

  1、通信异常:分布式系统需要各个节点之间进行网络通信,因此每次网络通信都伴随着网络不可用的风险

  2、网络分区:当网络发生异常,节点之间的网络延迟不断增大,导致只有部分节点之间能够进行正常通信,另些节点则不能,这种现象叫做网路分区。

    当网络分区出现时,分布式系统内会出现局部小集群,每个小集群都有主节点,这种现象称为脑裂。

  3、三态:分布式系统的每一次请求与响应,会存在成功、失败和超时三种形态

  4、节点故障:组成分布式系统的节点出现的宕机和僵死现象

分布式事务

  事务的ACID特性和四个隔离级别

  在分布式数据库中,数据分散在不同的机器上,为了保证分布式系统的可靠性,传统的单机事务模型已经无法胜任,就需要处理分布式事务。

  分布式事务:事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于分布式系统的不同节点上,通常一个分布式事务会涉及多个数据源或者多个业务系统的操作。

CAP和BASE理论:

  对于如何构建一个兼顾可用性和一致性的系统成了一个难题,因此出现了CAP和BASE分布式系统理论。

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

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

  可用性:系统提供的服务必须一直出于可用的状态,对于用户的每一次请求总是能够在指定的响应时间内返回一个正常的响应结果

  分区容错性:分布式系统在遇到任何网络分区故障的时候,仍然能够正常对外提供服务,除非整个网络环境都发生了故障。

当出现网络分区时,对系统的请求要么抛弃满足一致性,要么只更新部分节点满足可用性,因此只能在一致性和可用性中二选一。

猜你喜欢

转载自www.cnblogs.com/yangyongjie/p/10920855.html