zookeeper是什么呢?

戚薇 zookeeper 发布时间:2022-06-12 17:32:44 阅读数:18443 1
下文笔者讲述zookeeper的简介说明,如下所示:

zk简介

zookeeper是一个分布式的,开放源码的分布式应用程序协调服务
zookeeper是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件
   它是一个为分布式应用提供一致性服务的软件
提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

zookeeper的目标就是封装好复杂易出错的关键服务
  将简单易用的接口和性能高效、功能稳定的系统提供给用户。
zookeeper包含一个简单的原语集,提供Java和C的接口。
zookeeper代码版本中
  提供了分布式独享锁、选举、队列的接口,代码在$zookeeper_home\src\recipes
   其中分布锁和队列有Java和C两个版本

zookeeper的原理

zookeeper是以Fast Paxos算法为基础的
 但是Paxos算法存在活锁的问题
  所以zookeeper采用了一种Leader的机制成功解决了活锁的问题
  所有的提议都由Leader发出,就可以避免活锁的异常 
ZooKeeper的基本运行流程
1、选举Leader 
2、同步数据 
3、选举Leader过程中算法有很多,但要达到的选举标准是一致的 
4、Leader要具有最高的执行ID,类似root权限
5、集群中大多数的机器得到响应并接受选出的Leader

zookeeper特点

zookeeper中
 采用znode文件节点的方式管理“数据的存储”
 znode文件有临时节点和永久节点的概念
   临时节点:
       当连接断开后,此客户端操作的节点都会随着连接断开而消失
   永久节点:
       就是连接数据,会永久存储在zk的节点下

zookeeper应用示例说明

例:
  拥有100个检索服务器
  和一个总检索服务器及4个备用总检索服务器(当总机故障时,自动切换总机)
 
zookeeper的功能:
  用于可自动感知各检索服务器是否故障,自动查找合适的服务器 
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/zookeeper/2022/3702.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者