• Kafka核心技术与实战——05 | 聊聊Kafka的版本号


    • Kafka 版本命名
      • Scala 2.11 - kafka_2.11-2.1.1
      • 前面的版本号是编译 Kafka 源代码的 Scala 编译器版本。Kafka 服务器端的代码完全由 Scala 语言编写,Scala 同时支持面向对象编程和函数式编程
      • 真正的 Kafka 版本号实际上是 2.1.1
      • 前面的 2 表示大版本号,即 Major Version;中间的 1 表示小版本号或次版本号,即 Minor Version;最后的 1 表示修订版本号,也就是 Patch 号
      • “大版本号 - 小版本号 - Patch 号”
    • Kafka 版本演进
      • Kafka 目前总共演进了 7 个大版本,分别是 0.7、0.8、0.9、0.10、0.11、1.0 和 2.0,其中的小版本和 Patch 版本很多
      • 我们先从 0.7 版本说起,这个版本只提供了最基础的消息队列功能,甚至连副本机制都没有
      • Kafka 从 0.7 时代演进到 0.8 之后正式引入了副本机制,至此 Kafka 成为了一个真正意义上完备的分布式高可靠消息队列解决方案
      • 社区正式发布了 0.9.0.0 版本。在我看来这是一个重量级的大版本更迭,0.9 大版本增加了基础的安全认证 / 权限功能,同时使用 Java 重写了新版本消费者 API,另外还引入了 Kafka Connect 组件用于实现高性能的数据抽取
      • 0.10.0.0 是里程碑式的大版本,因为该版本引入了 Kafka Streams。从这个版本起,Kafka 正式升级成分布式流处理平台
      • 社区发布了 0.11.0.0 版本,引入了两个重量级的功能变更:一个是提供幂等性 Producer API 以及事务(Transaction) API;另一个是对 Kafka 消息格式做了重构
      • 最后我合并说下 1.0 和 2.0 版本吧,因为在我看来这两个大版本主要还是 Kafka Streams 的各种改进,在消息引擎方面并未引入太多的重大功能特性。如果你是 Kafka Streams 的用户,至少选择 2.0.0 版本吧
      • 最后还有个建议,不论你用的是哪个版本,都请尽量保持服务器端版本和客户端版本一致,否则你将损失很多 Kafka 为你提供的性能优化收益
    • 小结
      • 我希望现在你对如何选择合适的 Kafka 版本能做到心中有数了。
      • 每个 Kafka 版本都有它恰当的使用场景和独特的优缺点,切记不要一味追求最新版本。
      • 事实上我周围的很多工程师都秉承这样的观念:不要成为最新版本的“小白鼠”
      • 考虑客户端的版本与服务端版本的兼容问题
  • 相关阅读:
    个人收藏的flex特效网址【经典中的极品】
    JavaWEB开发国际化
    Java实现寻找和为定值的多个数
    Java实现寻找和为定值的多个数
    Java实现寻找和为定值的多个数
    Java实现寻找和为定值的多个数
    Java实现二进制幂
    Java实现二进制幂
    Java实现二进制幂
    Java实现二进制幂
  • 原文地址:https://www.cnblogs.com/minimalist/p/12792540.html
Copyright © 2020-2023  润新知