当前位置: 首页 > news >正文

zookeeper是啥?在kafka中有什么作用

一、Zookeeper是啥

问AI,它是这么说:

ZooKeeper是一个开源的分布式协调服务

ZooKeeper最初由雅虎研究院开发,用于解决大型分布式系统中的协调问题,特别是为了避免分布式单点故障。它被设计成一个简单易用的接口集,封装了复杂的分布式一致性协议。这使得开发者可以更专注于业务逻辑,而不是底层的协调和同步问题。

官网定义:

Apache ZooKeeper 致力于开发和维护一个支持高度可靠的分布式协调的开源服务。

zooKeeper 是用于维护配置信息,命名,提供分布式同步和提供组服务的集中式服务。所有这些类型的服务都以某种形式被分布式应用程序使用。每次实施它们时,都会进行很多工作来修复不可避免的 bug 和竞争条件。由于难以实现这类服务,因此应用程序最初通常会跳过它们,这会使它们在存在更改的情况下变得脆弱并且难以管理。即使部署正确,这些服务的不同实现也会导致管理复杂。

二、在kafka中有什么作用?

Kafka使用zookeeper的分布式协调服务,将生产者,消费者,broke结合在一起;借助zookeeper,kafka能够将生产者,消费者和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的子节点的变化,一旦发现消费者新增或者减少及时调整消费者,实现消费者负载均衡。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • OpenGL函数之wglCreateContext
  • 在 csv 上增加计算列
  • 牛客小白月赛100(下)
  • Linux 8250串口控制器
  • 每日一练 | 根据优先级信息划分业务类型
  • IP学习——Fiveday
  • 十二、新版UI
  • 斯坦福大学论文润色chat-gpt指令
  • 前端框架大观:探索现代Web开发的基石
  • 走近张大鹏教授:哈工大走出的中国第一位人工智能博士
  • java八股!1
  • 非网站业务怎么接入高防IP抗DDoS
  • 《数字信号处理》学习06-因果系统与稳定系统
  • 风语者:CG-23超声波风速风向传感器,与自然对话的桥梁
  • 【触想智能】工业一体机在物流领域上的四大应用分析
  • JS 中的深拷贝与浅拷贝
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • C++类中的特殊成员函数
  • ComponentOne 2017 V2版本正式发布
  • Logstash 参考指南(目录)
  • nginx 配置多 域名 + 多 https
  • Python实现BT种子转化为磁力链接【实战】
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 从零开始在ubuntu上搭建node开发环境
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 设计模式 开闭原则
  • 怎样选择前端框架
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • ​VRRP 虚拟路由冗余协议(华为)
  • ‌‌雅诗兰黛、‌‌兰蔻等美妆大品牌的营销策略是什么?
  • (1)(1.11) SiK Radio v2(一)
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)c#+winform实现远程开机(广域网可用)
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他
  • (算法)大数的进制转换
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转) Face-Resources
  • (转)详解PHP处理密码的几种方式
  • .DFS.
  • .NET 将混合了多个不同平台(Windows Mac Linux)的文件 目录的路径格式化成同一个平台下的路径
  • .NET/C# 使用 SpanT 为字符串处理提升性能
  • @LoadBalanced 和 @RefreshScope 同时使用,负载均衡失效分析
  • [001-03-007].第07节:Redis中的管道
  • [AIGC 大数据基础]hive浅谈
  • [AutoSAR 存储] 汽车智能座舱的存储需求
  • [AutoSAR系列] 1.3 AutoSar 架构
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)
  • [C#]winform基于opencvsharp结合Diffusion-Low-Light算法实现低光图像增强黑暗图片变亮变清晰
  • [C#C++]类CLASS
  • [c++] 自写 MyString 类
  • [Hadoop in China 2011] 蒋建平:探秘基于Hadoop的华为共有云
  • [IMX6DL] CPU频率调节模式以及降频方法
  • [iOS]-NSTimer与循环引用的理解
  • [iOS]Win8下iTunes无法连接iPhone版本的解决方法