Kafka 是消息队列中间件的代表产品,它与 RocketMQ 和 RabbitMQ 最大的区别在于:在某些场景,可以弃用 Flink、Spark 这样的计算引擎,借助 Kafka Stream 轻松实现数据处理。也即,Kafka 不仅是消息引擎系统,也是分布式流处理平台。
最新版本 3.0 的发布,使得 Kafka 这一定位得到了进一步加强。突出的一点体现在对 KRaft 元数据和 API 进行了诸多突破性的改进:
“KRaft Controllers 和KRaft Brokers,能够为元数据主题 __cluster_metadata 的分区生成、复制和加载快照”
此外,Kafka3.0 在很多方面都进行了改善和升级,例如:Kafka 主题/分区偏移量的能力、Kafka Consumer 的配置属性、弃用对 Java 8 和 Scala 2.12 的支持…
当然,比起这些,有一个更直观的理由能让我们从 Kafka2 换到 Kafka3:Kafka3 的速度与性能起码是 Kafka2 的 10 多倍!
百万分区情况下,Kafka3 与 Kafka2 的启动以及停机时间对比
相信在 2022 年,Kafka3 将迅速占领各大厂的面试题库。
如果你准备在工作或练习中开始应用 Kafka3,或者只是想要进一步学习了解 Kafka3 时,你会面临一个不可忽视的环节:源码阅读。而在这之前你得先知道:
如何确认 Kafka3 中的最小单位的组件? 如何选择 / 区分不同的功能点? 如何找到 Kafka3 最核心的(主流程)源码?
与其自己漫无目的地查资料,我建议你参加由前中国移动研究院大数据工程师王超老师打造的《Kafka3 新特性及源码剖析》在线专栏课,2 天时间,带你独家揭秘 Kafka3 的新特性,深入解读源码设计,解析元数据一致性算法,领略 Kafka3 架构设计之美,获悉系统性能提升的破局之道。
2月22-23 日晚开课
原价 ¥499,限时 ¥0.01 立刻学习!
长按扫码