【专题推荐】AI大模型落地的前景和痛点,技术人面临哪些机会和挑战? 了解详情
写点什么

Kafka 3.3 使用 KRaft 共识协议替代 ZooKeeper

作者: Andrea Messetti

  • 2022-11-11
    北京
  • 本文字数:877 字

    阅读完需:约 3 分钟

Kafka 3.3使用KRaft共识协议替代ZooKeeper

Apache 软件基金会发布了包含许多新特性和改进的 Kafka 3.3.1。这是第一个标志着可以在生产环境中使用KRaft(Kafka Raft)共识协议的版本。在几年的开发过程中,它先是在 Kafka 2.8 早期访问版本中发布,然后又在 Kafka 3.0 预览版本中发布。


KRaft 是一种共识协议,可以直接在 Kafka 中管理元数据。元数据的管理被整合到了Kafka当中,而不需要使用像ZooKeeper这样的第三方工具,这大大简化了 Kafka 的架构。这种新的 KRaft 模式提高了分区的可伸缩性和弹性,同时简化了 Kafka 的部署,现在可以不依赖 ZooKeeper 单独部署 Kafka 了。


KRaft 使用了Raft共识算法的一种基于事件的变体,因此得名。



随 KRaft 引入的新的仲裁控制器确保元数据在整个仲裁中可以被准确复制。活动控制器将元数据存储在事件源日志主题中,仲裁中的其他控制器对活动控制器创建的事件做出响应。事件日志定期进行快照,确保日志不会无限增长。与基于 ZooKeeper 的控制器不同,如果出现了问题,仲裁控制器不需要从 ZooKeeper 加载状态,因为集群的内部状态已经分布在元数据主题中。这大大减少了不可用时间窗口,缩短了系统最坏情况恢复时间。


下图显示了使用新的仲裁控制器比使用 ZooKeeper 更快地关闭具有 200 万个分区的 Kafka 集群。



新的 KRaft 共识算法和仲裁控制器使得 Kafka 集群可以扩展到数百万个分区,不仅提升了稳定性,让 Kafka 变得更容易监控、管理和支持,而且让整个系统可以有一个单一的安全模型,使控制器故障转移接近瞬时。


Kafka 社区计划在下一个版本(3.4)中弃用 ZooKeeper,然后在 4.0 版本中完全删除它。


此外,Kafka 3.3 还提供了其他一些新特性,比如添加了与元数据日志处理错误相关的指标,允许用户为其他用户创建委托令牌,以及严格统一的粘性分区器,以缩短分区时间。


对于 Kafka Streams,这个版本增加了源/接收器指标,如消费/生产吞吐量、暂停/恢复拓扑,并集成了 KStream transform()和 process()方法。Kafka Connect 增加了对源连接器的精确一次语义支持。


原文链接

https://www.infoq.com/news/2022/10/apache-kafka-kraft/


相关阅读:

使用 Strimzi 将 Kafka 和 Debezium 迁移到 Kubernetes

Flink 读写多套 Kerberos 认证的 Kafka 方案


2022-11-11 09:219468

评论

发布
暂无评论
发现更多内容

写给 Java 程序员的前端 Promise 教程

江南一点雨

Java spring 前端 springboot Promise

转转商品系统高并发实战(数据篇)

转转技术团队

分布式 高并发

STM32的内存管理相关(内存架构,内存管理,map文件分析)

矜辰所致

内存 stm32 Flash 8月月更

Arco Vue + Flask 手把手实战开发一测试需求平台

MegaQi

测试平台开发教程 签约计划第三季 8月月更

【Redis】位图以及位图的使用场景(统计在线人数和用户在线状态)

石臻臻的杂货铺

redis' 8月月更

Kubernetes资源编排系列之四: CRD+Operator篇

阿里云大数据AI技术

大数据 运维

一文读懂配置管理(CM)

SEAL安全

企业安全 企业it安全 代码安全

Dapr在Java中的实践 之 状态管理

万猫学社

Java 微服务 dapr Sidecar

leetcode 155. Min Stack最小栈(中等)

okokabcd

LeetCode 数据结构与算法 栈和队列

Docker到底是什么,能干什么?这一篇文章全部给你解释清楚了

Java永远的神

Java Docker 程序员 面试 云原生

分分钟快速定制您的专属个性化软件应用——BizTool自动化工具简介

BizFree

软件开发 快速开发 低代码开发 个性化 应用开发

结合“xPlus”探讨软件架构的创新与变革

BizFree

敏捷开发 软件架构 数字化 信息化 软件定制

一名合格的程序员是如何优雅地解决线上问题的?

程序员小毕

Java 程序员 架构 程序人生 后端

在SAP分析云里根据业务数据绘制词云(Word Cloud)

Jerry Wang

SaaS SAP 词云 8月月更 word-cloud

云原生系列五:Kafka 集群数据迁移基于Kubernetes的内部

叶秋学长

kafka 开源 Kubernetes 8月月更

IT故障快速解决就用行云管家!快速安全!

行云管家

运维 IT运维 行云管家

易周金融分析 | 互联网系小贷平台密集增资;上半年银行理财子公司综合评价指数发布

易观分析

金融 分析 易周金融

Java 在Word中合并单元格时删除重复值

在下毛毛雨

java; 合并单元格 删除重复值

Dapr在Java中的实践 之 服务调用

万猫学社

微服务 dapr Sidecar

鲲鹏开发者创享日2022:鲲鹏全栈创新 与开发者共建数字湖南

科技热闻

SpringMVC(一、快速入门)

开源 springmvc 8月月更

自动驾驶中的SLAM

博文视点Broadview

5S软件就是将软件应用全维度简单化的软件系统

BizFree

k8s 敏捷开发 软件架构 高性能 快捷调试

RT-Thread记录(三、RT-Thread 线程操作函数及线程管理与FreeRTOS的比较)

矜辰所致

RTT RT-Thread 8月月更 线程操作

【Redis】redis安装与客户端redis-cli的使用(批量操作)

石臻臻的杂货铺

redis' 8月月更

Dapr在Java中的实践 之 环境准备

万猫学社

微服务 dapr Sidecar

海外邮件发送指南(一)

极光JIGUANG

消息推送 邮件 SendCloud

C++面向对象友元,全局函数、类、成员函数做友元

CtrlX

8月月更

开源一夏 | 使用 JavaScript 和 CSS 做一个图片转 PDF 的转换器

海拥(haiyong.site)

JavaScript 开源 前端 8月月更

游戏开发常遇到数据一致性BUG,怎么解?

华为云开发者联盟

数据库 后端 游戏开发

看到这个应用上下线方式,不禁感叹:优雅,太优雅了!

华为云开发者联盟

云计算 开发 CCE

Kafka 3.3使用KRaft共识协议替代ZooKeeper_架构_InfoQ精选文章