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将迅速占领各大厂的面试题库。