• Zookeeper知识学习


    一、什么是Zookeeper?

      ZooKeeper 是一个开源Apache项目,提供集中式服务,用于在分布式系统中的大型集群上提供集中服务,用于维护命名和配置数据,并在分布式系统中提供灵活,强大的同步。Zookeeper 跟踪 Kafka 集群节点的状态,并跟踪Kafka主题,分区等。Zookeeper 允许多个客户端同时执行读写操作,并充当系统内的共享配置服务。

    二、为什么Kafka需要用到 Zookeeper?

      * Controller election

        Controller 是 Kafka 生态系统中最重要的 Broker 实体之一,它还有责任维护所有分区中的 leader-follower 关系。如果节点由于某种原因而shut down,则控制器有责任告知所有 replicas 充当分区负责人,以便履行即将失败的节点上的分区负责人的职责。因此,每当一个节点关闭时,就可以选出一个新的 Controller,并且还可以确保在任何给定的时间,只有一个 Controller,并且所有的 Follower 节点都同意。

      Configuration Of Topics

         有关所有 topic 的配置,包括现有 topic 列表,每个 topic 的 partitions number,所有 partition 的位置,所有 topic 的配置覆盖列表以及哪个节点是 preferred leader 等。

      * Access control lists  

       所有topics的访问控制列表或ACL也在Zookeeper中维护。

      Membership of the cluster

       Zookeeper还维护一个列表,列出在任何给定时刻正在运行的所有 brokers,并且它们是集群的一部分。

  • 相关阅读:
    Spring5源码分析之Bean生命周期
    关系图
    Spring5源码分析之AnnotationConfigApplicationContext
    Spring中好玩的注解和接口
    MyBatis使用总结
    设计模式的应用
    C#:网络传输问题
    工具软件:
    Rar安装包
    C#:注册组件 (cmd)
  • 原文地址:https://www.cnblogs.com/Lyh1997/p/11458029.html
Copyright © 2020-2023  润新知