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 提供的性能优化收益