写作与程序程序员Java 杂谈

分布式管理器~Zookeeper初识

2018-06-10  本文已影响12人  胖琪的升级之路

原先写过一篇关于Zookeeper的安装基础,关于安装的基础咱们这里就不说了,可以看上一篇文章。在这里说点关于Zookpeer的基础知识。了解其内部是怎么构造了。方便大家对其操作。

分布式协调技术

平常大家开发程序,大部分都是关注与逻辑的实现,基本上逻辑实现之后,程序就万册好难过了,但是我们在大型架构下,进程与进程之间的通信是十分有必要的,我们的程序就涉及到了分布式开发。多台服务器提供相同的服务给客户。
在分布式系统中,我们可能只有一个资源请求,但是三台服务器都需要该请求资源时,系统会怎么分配呢?在这里就涉及到新的概念:协调器,通过协调器来进行任务的分配保证某个服务队该资源的独占。

Zookeeper简介

Zookpeer 是一种 分布式应用程序所设计的。更专注于任务协助,并不提供任何锁的接口活通用数据接口。

主从结构

在分布式开发过程中,一个通常使用的架构就是:主-从架构。


主从架构

在主从架构中,我们主节点负责跟踪从点的状态和任务执行情况,并且分配任务给从节点。在主从结构中,需要满足以下的需求:

  1. 主节点的选举:只有选择出主节点才能执行下面的任务分配等内容。
  2. 崩溃检测: 对于从节点的失去连接和崩溃需要有检测的能力,如果从节点失败,我们需要主节点把派给这个从节点的任务让主节点从新分配去完成。
  3. 组员管理处理: 主节点必须知道哪些节点是存活的,还有能执行任务的节点。方便在分配任务的时候进行分配
  4. 元数据管理: 主节点和从节点必须通过可靠的方式来保存分配的状态和执行状态的能力。
    在Zookeeper上提供了实现这些原语的方式,通过这些Zookeeper帮助我们能顺利的进行分布式的开发。

分布式需要解决的问题

在分布式系统上,行业内有个著名的定律

FLP( Fischer,Lynch,Patterson)定律,该定律在分布式系统上证明了 进程无法在比特的配置上形成一致条件,分别为一致性,可用性,分区容错性,在Zookeeper上保证了一致性,可用性,和只能可读状态的分区容错性。

上一篇下一篇

猜你喜欢

热点阅读