• Zookeeper 总结


    157、Zookeeper是什么?

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

    158、zookeeper都要哪些功能?

    集群管理: 监控节点存活状态、运行请求等。

    主节点选举: 主节点挂了之后可以从备用的节点开始新一轮选主,主节点选举说的就是这个选举过程,使用Zookeeper可以协助完成这个过程。

    分布式锁: zookeeper 提供两种锁: 独占锁、共享锁。独占锁即一次只能有一个线程使用资源,共享锁是读锁共享,读写互斥,即可以有多线程同时读同一个资源,如果要使用写锁也只能有一个线程使用。Zookeeper可以对分布式锁进行控制。

    命名服务: 在分布式系统中,通过使用命名服务,客户端应用能够根据指定名字来获取资源或服务地址,提供者等信息。

    159、Zookeeper有几种部署模式?

    1) 单机部署: 一台集群上运行

    2) 集群部署: 多台集群运行

    3) 伪集群部署: 一台集群启动多个Zookeeper实例运行

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

    Zookeeper的核心是原子广播,这个机制保证了各个server之间的同步。实现这个机制的协议叫做zab协议。zab协议有两种模式,分别是恢复模式(选主)和广播模式(同步),当服务启动或者在领导者崩溃后,zab就进入恢复模式,当领导者被选举出来,且大多数server完成了和leader的状态同步以后,恢复模式就结束了,状态同步保证了leader和server具有相同的系统状态。

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

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

    162、集群中有3台服务器,其中一个节点宏机,这个时候Zookeeper还可以使用吗?

    可以继续使用,单数服务器只要没有超过一半的服务器宏机就可以继续使用。

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

    客户端会对某个znode建立watcher事件,当该znode发生变化时,这些客户端会收到Zookeeper的通知,然后客户端可以根据zonde变化做出业务上的改变。

  • 相关阅读:
    Socket编程实现客户端与服务器一对一聊天
    HttpClient获取页面信息与Jsoup封装获取
    代码推送
    re正则
    MySQL 的主从复制
    关于前后端的缓存
    session/cookie/token
    如何保证缓存(redis)与数据库(MySQL)的一致性
    进程与线程(程序与任务)
    QA/QC
  • 原文地址:https://www.cnblogs.com/linlf03/p/10778696.html
Copyright © 2020-2023  润新知