wordpress模板电子书下载站,互联网广告服务经营范围,网站备案 后期,网站建设运营费用包括哪些一、Zookeeper是啥
问AI#xff0c;它是这么说#xff1a; ZooKeeper是一个开源的分布式协调服务。 ZooKeeper最初由雅虎研究院开发#xff0c;用于解决大型分布式系统中的协调问题#xff0c;特别是为了避免分布式单点故障。它被设计成一个简单易用的接口集#xff0c;封…一、Zookeeper是啥
问AI它是这么说 ZooKeeper是一个开源的分布式协调服务。 ZooKeeper最初由雅虎研究院开发用于解决大型分布式系统中的协调问题特别是为了避免分布式单点故障。它被设计成一个简单易用的接口集封装了复杂的分布式一致性协议。这使得开发者可以更专注于业务逻辑而不是底层的协调和同步问题。 官网定义 Apache ZooKeeper 致力于开发和维护一个支持高度可靠的分布式协调的开源服务。 zooKeeper 是用于维护配置信息命名提供分布式同步和提供组服务的集中式服务。所有这些类型的服务都以某种形式被分布式应用程序使用。每次实施它们时都会进行很多工作来修复不可避免的 bug 和竞争条件。由于难以实现这类服务因此应用程序最初通常会跳过它们这会使它们在存在更改的情况下变得脆弱并且难以管理。即使部署正确这些服务的不同实现也会导致管理复杂。 二、在kafka中有什么作用
Kafka使用zookeeper的分布式协调服务将生产者消费者broke结合在一起借助zookeeperkafka能够将生产者消费者和broker在内的所有组件在无状态的条件下建立起生产者和消费者的订阅关系实现生产者的负载均衡。
主要作用如下
1.注册并监控broker调整负载均衡
kafka的每个broker在启动时都会在zk中注册告诉zk其brokerid保存在zk目录broker.id/brokers/ids当节点失效时zk就会删除该节点能够很方便的监控整个集群broker的变化及时调整负载均衡。 2. 管理并维护topic、分区、broker的对应关系
在kafka中可以定义很多个topic每个topic又被分为很多个分区。一般情况下每个分区独立存在一个broker上所有的这些topic-分区-broker的对应关系都有zk进行维护 3. 消费者注册和维护
3.1 注册新的消费者
当有新的消费者注册到zk中zk会创建专用的节点来保存相关信息路是/consumers/{group_id}/ [ids,owners,offset]其中
Ids:记录该消费分组有几个正在消费的消费者
Owmners记录该消费分组消费的topic信息
Offset记录topic每个分区中的每个offset
3.2 监听消费者分组中消费者的变化
监听/consumers/{group_id}/ids的子节点的变化一旦发现消费者新增或者减少及时调整消费者实现消费者负载均衡。