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

kafka学习笔记2 —— 筑梦之路

KRaft模式

Kafka的KRaft模式是一种新的元数据管理方式,旨在去除对ZooKeeper的依赖,使Kafka成为一个完全自包含的系统。在Kafka的传统模式下,元数据管理依赖于ZooKeeper,这增加了部署和运维的复杂性。为了解决这个问题,Kafka社区引入了KRaft模式。在KRaft模式下,所有的元数据,包括主题、分区信息、副本位置等,都被存储在Kafka集群内部的特殊日志中。这个日志使用Raft协议来保证一致性。

在传统架构中,Kafka集群包含多个 Broker 节点和一个ZooKeeper 集群。Kafka 集群的 Controller 在被选中后,会从 ZooKeeper 中加载它的状态。并且通知其他Broker发生变更,如 Leaderanddis r和 Updatemetdata 请求。

在新的架构中,三个 Controller 节点替代三个ZooKeeper节点。Controller节点和 Broker 节点运行在不同的进程中。Controller 节点中会选举出一个 Leader 角色。并且Leader 不会主动向 Broker 推送更新,而是由 Broker 拉取元数据信息。

注意:Controller 进程与 Broker 进程在逻辑上是分离的,同时允许部分或所有 Controller 进程和 Broker 进程是同一个进程,即一个Broker节点即是Broker也是Controller。

优势

简化部署:不再需要单独部署和维护ZooKeeper集群,降低了运维复杂性和成本。

一致性和可靠性:Raft协议提供了强一致性保证,确保元数据在多个节点之间的一致复制,提高了系统的可靠性。

高可用性:通过控制节点的多数共识机制,在少数节点故障的情况下仍能保证集群的正常运行。

性能优化:减少了Kafka与ZooKeeper之间的通信开销,可能带来性能上的提升。

 


http://www.kler.cn/a/515624.html

相关文章:

  • JavaScript笔记APIs篇01——DOM获取与属性操作
  • 小型分布式发电项目优化设计方案
  • MyBatis 注解开发详解
  • 港口危货储存单位生产管理人员题库附答案
  • 游戏引擎学习第80天
  • 深度学习 DAY2:Transformer(一部分)
  • centos部署rabbitmq
  • Next.js:构建大模型智能体GPT研究者应用的 Web开发框架
  • GPU加速GWAS分析--quickdraw
  • Ada语言的软件工程
  • BUU UPLOAD COURSE 11
  • Github 2025-01-22 C开源项目日报 Top9
  • 每日一题-数组中的逆序对
  • 51单片机(三) UART协议与串口通信实验
  • 宝塔UDP服务器部署记录,unityClient,pythonServer
  • Cursor的简单使用
  • WordPress果果AI创作插件
  • Apache Tika 详解
  • rust学习-rust中的常量与变量
  • Linux 怎么在储存设备上创建文件系统?
  • Tensor 基本操作2 理解 tensor.max 操作,沿着给定的 dim 是什么意思 | PyTorch 深度学习实战
  • 西门子【Library of General Functions (LGF) for SIMATIC S7-1200 / S7-1500】
  • SpringCloud微服务Gateway网关简单集成Sentinel
  • 【day7】Redis场景问题+解决方案
  • python爬虫的学习流程(1-前提准备)
  • 02内存结构篇(D1_自动内存管理)