apache kafka

  • 仅仅需要一个消息引擎系统亦或是简单的流处理应用场景,同时需要对系统有较大把控度,那么推荐使用 Apache Kafka。

版本

版本号结构

大版本号 - 小版本号 - Patch

  • 其中,Patch 是指打了几个补丁
  • 四位的话,前两位当大版本号

版本区别

0.7

  • 基础的消息队列功能,不用

0.8

  • 引入副本机制,可以分布式+消息无丢失
  • Producer 和 consumer 的 api 还是老版本,指定地址是 zk 而不是 broker
    • 性能不好,特别 producer 是同步发送的
  • 0.8.2.0 引入 新版本 producer api,指定 broker 地址,但是还是不推荐用

**

0.9

  • 增加基础的安全认证和权限功能,新版本 producer api 可以用了
  • 但是引入的新版本 consumer api 不要用

**

0.10

  • 引入kafka streams
  • 0.10.2.2 新版本 consumer api 可用
  • 修复了一个可能导致 producer 性能降低的 bug

0.11

  • 提供幂等性 producer api 和 transaction api
    • 幂等性 producer api保证 kafka streams 流处理保证结果的正确性
    • transaction api 很少用
  • 对消息格式做了重构

    • 新老版本切换,要小心


  • 0.11.0.3 满足大部分需求,消息引擎功能完善

1.0 和 2.0

  • 对 kafka streams的发展,如果有需求,用 2.0

版本注意

  • 不论用的是哪个版本,都请尽量保持 server 版本和 client 版本一致
    • 否则将损失很多 Kafka 提供的性能优化收益