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 立刻学习!
长按扫码