Kafka 2.8.0 正式发布,增加了哪些新特性?
导读:目前 Kafka 已经定位为一个分布式流式处理平台,它以高吞吐、可持久化、可水平扩展、支持流数据处理等多种特性而被广泛使用。目前越来越多的开源分布式处理系统如 Cloudera、Storm、Spark、Flink 等都支持与 Kafka 集成。
2021年4月19日,Kafka官方发布了2.8.0版本,包含了很多新特性!其中,我觉得最感兴趣的是提到的第一条特性-Kafka用自管理的Quorum代替ZooKeeper管理元数据。
之前Kafka使用ZooKeeper来存储有关分区和代理的元数据,并选择一个代理作为Kafka控制器。目前删除对ZooKeeper的依赖。这将使Kafka够以更具扩展性和更强大的方式管理元数据,从而支持更多分区。它还将简化Kafka的部署和配置。
Kafka 2.8.0 用自管理的Quorum代替ZooKeeper管理元数据,官方称这个为 "Kafka Raft metadata mode",即KRaft mode
KRaft最大的好处在于移除了ZooKeeper,这样我们无需维护zk集群,只要维护Kafka集群就可以了
请注意,此图有些误导。除控制器外的其他代理可以并且确实与ZooKeeper进行通信。因此,实际上,应该从每个经纪人到ZK划清界限。但是,绘制很多线会使该图难以阅读。
可能有一些刚接触Kafka的小伙伴还不明白这到底代表着什么。
在kafka 2.8.0之前体系架构包括若干 Producer、若干 Broker、若干 Consumer,以及一个 ZooKeeper 集群,如下图所示。其中 ZooKeeper 是 Kafka 用来负责集群元数据的管理、控制器的选举等操作的。Producer 将消息发送到 Broker,Broker 负责将收到的消息存储到磁盘中,而 Consumer 负责从 Broker 订阅并消费消息。
不太理解的小伙伴可以查看下Kafka 2.8.0之前的部署和一些教程发现和新版本的差异还是很大的,你会发现增加了很多的成本,但短期可能会带来很多不便,基于长远的角度思考,这次改动对于Kafka的长远发展利大于弊。
Kafka 的代码库中还有很大一部分是负责在多个集群中安排日志、分配领导权、处理故障等。这使的 Kafka 成为一个可靠和可信的分布式系统。而ZooKeeper就是分布式代码工作的关键。在以往的版本中,ZooKeeper 提供了权威的元数据存储,这些元数据存储了系统中最重要的东西,例如分区可以存在哪里,哪个组件是主导等等等等
但不管怎么样,ZooKeeper 是一个基于一致日志的特殊文件系统/触发器API。而Kafka 是一个建立在一致日志之上的发布/订阅系统。
Kafka 2.8.0包括许多重要的新功能。以下是重要变化
简单点可以理解为:
抢先体验,kafka通过自我管理的仲裁来替代ZooKeeper(很快,Apache Kafka将不再需要ZooKeeper。)
增加集群描述API
在SASL_SSL监听器上支持彼此TLS认证
JSON请求/响应的debug日志
限制broker连接创建率
Topic识别
在Connect REST API中公开任务配置
更新 Streams FSM 以澄清ERROR状态的含义
扩展 StreamJoined 以允许更多的存储配置
更方便的TopologyTestDriver构造
引入 Kafka-Streams 专用的未捕获异常处理程序
启动和关闭Streams线程的API
改进 TimeWindowedDeserializer 和 TimeWindowedSerde 处理窗口大小
改善Kafka流中的超时和重试情况
智哥现在用的版本还停留在Kafka 2.2.1,当然这个版本一用就是几年
Kafka 2.8.0 正式发布,增加了哪些新特性?相关推荐
- TailwindCSS v3.0 正式发布!一大波新特性来袭!
作者 | 一只图雀 来源 | 程序员巴士 今天给大家介绍一篇关于 Tailwind 最新发布的 v3.0 相关的内容. 2021 年 12 月 10 日,TailwindCSS 的创始人 Adam W ...
- 【CSS】1209- TailwindCSS v3.0 正式发布!一大波新特性来袭!
大家好,我是皮汤.最近一直在研究 TailwindCSS 相关的内容,打算将其用在接下来的各种项目中,之前也写过关于 CSS 工程化方面的文章:2021 年你需要之前的 CSS 工程化技术,今天给大家 ...
- android5.0及以上版本的新特性
android5.0及以上版本的新特性 Android5.0 Android6.0 Android7.0 Android8.0 Android9.0 Android5.0 Android 5.0 除了 ...
- android5.0后新特性修改标题头,Android5.0中Material Design的新特性
Material Design简介 Material Design是谷歌新的设计语言,谷歌希望寄由此来统一各种平台上的用户体验,Material Design的特点是干净的排版和简单的布局,以此来突出 ...
- Android 8.0正式发布 奥利奥新功能惊人
尽管 Android 刷版本号的步伐年年加快,但每年带给用户的惊喜从未减少.经历了四个开发者预览版的洗礼后,Android 8.0 终于在今天凌晨迎来了正式版发布. 如果你还不清楚 Android O ...
- C# 8.0的三个令人兴奋的新特性
C# 语言是在2000发布的,至今已正式发布了7个版本,每个版本都包含了许多令人兴奋的新特性和功能更新.同时,C# 每个版本的发布都与同时期的 Visual Studio 以及 .NET 运行时版本高 ...
- C# 8.0的三个令人兴奋的新特性 1
C# 语言是在2000发布的,至今已正式发布了7个版本,每个版本都包含了许多令人兴奋的新特性和功能更新.同时,C# 每个版本的发布都与同时期的 Visual Studio 以及 .NET 运行时版本高 ...
- python3字符串转数字_Python 3.6.0 正式版发布附新特性说明
计划在上周发布的Python3.6.0推迟到昨日发布,你可以点击这里下载最新版的Python3.6.0,那么此次的新版本带来了哪些新的特性呢?下面我们去看一下Python的官方文档. What's N ...
- Android 10 终于来了!增加了不少新特性
前言 Android 10 正式发布了,根据官网的介绍,聚焦于隐私可控.手机自定义与使用效率,此版本主要带来了十大新特性: 智能回复 使用机器学习来预测你在回复信息时可能会说些什么,这项功能在 And ...
最新文章
- 面向高精度领域的视觉伺服算法汇总
- ios视图frame和bounds的对比
- Delphi下的GDI+编程[2] DrawLine - 绘制直线
- 几个不错的自己到的少的游戏站
- 如何用python绘制灰度直方图_Python Opencv任意形状目标检测并绘制框图实例
- linux压缩、解压操作
- spring boot 开源项目汇总
- 算法Top(K)问题
- 聊聊为什么 IDL 只能扩展字段而非修改
- MFC初步教程(一)
- 【渝粤教育】21秋期末考试网络市场调查与预测10143k2
- keras 多分类一些函数参数设置
- freemarker中空值“”,null值的判断
- Atitit 架构的艺术 目录 1. 按照技术站分类	1 1.1. LAMP架构,到IOE架构,再到分布式架构	1 1.2. Ssh ssm	1 2. Bs cs web hybrid架构	1 3.
- mysql两个修改事务相互阻塞_MySQL 5.7并发复制和mysqldump相互阻塞引起的复制延迟...
- 怎样用计算机算出别人的出生日期,Excel根据出生日期计算年龄的步骤
- Xshell 下载地址
- Android--Recovery模块之恢复出厂设置
- 新浪微创投狩猎季:5家LP皆VC大佬 人气日渐高涨
- Java num+=1、num++与num=num+1的区别(通俗易懂,附带例子)
热门文章
- 教授专栏11|张处:企业支付政策和信用风险:来自信用违约掉期(CDS)市场的证据
- linux切换ip地址脚本,批处理实现的ip地址切换的复杂脚本
- 镜子中的 Google
- python小车行走_[PYTHON系列教程]→控制小车
- 我彻底服了,大牛讲解信号与系统(通俗易懂)
- [Linux] 如何在 Linux 电脑上制作专业的视频教程
- 兼容所有浏览器的网页播放器
- RSTP配置_思科模拟器
- 借呗还完之后为什么关闭了_蚂蚁借呗怎么突然关闭了 蚂蚁借呗关闭后怎么重开...
- 每日一题 No.4 男女搭配干活不累