第一篇:《从Paxos到zookeeper分布式一致性原理与实践》分布式基本概念

Posted 热点猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一篇:《从Paxos到zookeeper分布式一致性原理与实践》分布式基本概念相关的知识,希望对你有一定的参考价值。

集中式到分布式


集中式架构:

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

   B. 通俗一点解释:单机程序、集群程序都可以叫做集中式架构。

 分布式架构:

 A. 分布式定义:分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统,出自《分布式系统概念与设计》。

 B. 通俗一点解释:多台计算机需要进行相互通信,共同完成一个功能。

 

两者不同点:集中式多台计算之前不需要通信,而分布式多台计算之间需要通信,共同完成特定功能。

 

既然分布式是需要共同协作的,那么需要有自己独特的特征与需要去解决独特的问题。

分布式特征:

1. 分布式:也就是多台计算机

2. 对等性:也就是每个计算的所有数据要一致;也就是说,你吃糖果,我也要吃糖果,大家都是一样的。

3. 并发性:共享的数据存在并发性。也就是说,只有一个糖果,我们一起吃。

4. 缺乏全局时钟:分布式有可能分布在不用的地域。所有存在这个时区不同的问题。也就是说,我的服务器在北京,还有一个服务在美国,这个时间是不一样的。

5. 故障总会发生:怎么解释这句话呢?就好像两人三足的游戏,如果其中一个人在过程中受伤了,或者一个同学的鞋子掉了,或者一个同学跟不上大家的速度摔倒了,都有可能会出现各种各样的问题,根据墨菲定律--坏的事情总会发生。

分布式特征伴随的各种问题:

那么有这5个特征就会伴随出现一些奇奇怪怪的问题?比如分布式中一个计算机宕机(也就是挂了)怎么办?事务怎么处理?并发怎么处理?全局时钟怎么处理?计算机之间的网络出现问题怎么办?等一系列不是我们这些小弟弟们可以想到与遇到的,只有去研究分布式的大佬们他们才能发现问题,并给出解决方案。我们可以站在巨人的肩膀上去虚心学习。

 

分布式环境的各种问题:

1. 计算机之前的通信异常:就是网络挂B了,或者光纤被别人剪了

2. 网络分区(脑裂):网络情况出现问题时,只有部分节点可以工作。这个也很好理解,就是一个系统有10台计算机,5台挂了,其他机器还可以让系统正确使用。

3. 三态:单机中调用一个接口只会有成功或者失败。而分布式因为有了计算机之间的通信,网络可能异常,所以存在超时的状态,发消息过去超时或者回复消息超时。

4. 节点故障:计算机挂B

 针对分布式所产生的问题,不能任由错误发生,想要这一可用分布式系统不是一件简单的问题。单机架构可用按照MVC模式去搭建,遇到问题随时解决或者换组件就行,但是分布式系统既然已经知道会存在这么多的问题,于是就需要一一解决。以下是推进分布式架构的大佬们给出小弟们的理论知识。

ACID到CAP/BASE

ACID相信大家都很熟悉了,也就是数据库事务的四大特性。不了解的同学可以去百度一大堆。那我们就说下CAP/BASE,其实网上也一大堆,也可以百度上。这里我只说下为什么从ACIDCAP/BASE。他们之间的关联就是数据的一致性。事务是保证数据一致性的,可以说基础吧。事务在异常的情况下也可以保证数据的一致性,这是数据的强一致性(有强就有弱)。那为什么要从一致性说呢?因为分布式可能存的各种问题都会导致数据不一致,而数据不一致的话可以说这个系统理论上就是不可用的。

总结:所以我的理解是分布式问题就是数据一致性的问题,围绕一致性问题去解决衍生的问题。(还是个菜鸟,有不对的地方可以关注微信指出,不同的意见可以一起讨论)


 

 


以上是关于第一篇:《从Paxos到zookeeper分布式一致性原理与实践》分布式基本概念的主要内容,如果未能解决你的问题,请参考以下文章

从Paxos到Zookeeper分布式一致性原理与实践 -笔记

从Paxos到zookeeper分布式一致性原理与实践-Zookeeper与Paxos

《从Paxos到Zookeeper:分布式一致性原理与实践》PDF下载

《从Paxos到Zookeeper分布式一致性原理与实践》

第二篇:《从Paxos到zookeeper分布式一致性原理与实践》一致性协议与zookeeper

不懂 ZooKeeper?没关系,这一篇给你讲的明明白白