面试题-Java基础(十六)- Zookeeper

1、Zookeeper是什么?

Zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是hadoop和hbase的重要组件,他是为分布式应用提供一致性服务的软件。提供的功能包括:配置维护,域名维护,分布式同步等。

2、Zookeeper都有哪些功能?

  • 集群管理:监控节点存活状态,运行请求等。
  • 主节点选取:主节点挂掉以后可以从备用的节点中开始新一轮选主。
  • 分布式锁:zookeeper提供了两种锁:独占锁,共享锁
    独占锁及一次只能有一个线程实用资源
    共享锁是度锁共享,写锁互斥,即可以多个线程同时读取一个资源,如果实用写锁,也只能有一个线程使用。
  • 命名服务:在分布式系统中,通过使用命名服务,客户端应用能够根据指定名字来获取资源或者服务的地址,提供者等信息。

3、Zookeeper有几种部署模式?

Zookeeper有三种部署模式:

  • 单台部署:一台集群上运行
  • 集群部署:多态集群运行
  • 伪集群部署:一台集群上启动多个Zookeeper实例运行

4、Zookeeper怎么保证主从节点的状态同步?

Zookeeper的核心是原子广播,这个机制保证了各个server之间的同步。实现这个机制的协议叫做zab协议。

zab协议有两种模式:恢复模式(选主)和 广播模式(同步)。

当服务启动或者在领导这崩溃后,zab就进入恢复模式,当领导者选举出来,且大多是的server已经完成了和leader的状态同步以后,回复模式就结束了。状态同步保证了leader和server之间具有相同的系统状态。

5、集群中为什么要有主节点?

在分布式环境中,有些业务逻辑只需要集群中的某一台机器进行执行,其他机器可以共享这个结果,这样可以大大较少重复计算,提高性能,所以就需要主节点。

6、说一下Zookeeper的通知机制?

客户端会对某个znode建立一个watcher事件,当znode发生变化的时候,这些客户端都会收到Zookeeper的通知,然后客户端会根据znode拜年话来做出业务上的改变。

 

下一章 MySql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值