Kafka Consumer各版本分析总结
来源:互联网 发布:剑三花哥成男捏脸数据 编辑:程序博客网 时间:2024/05/23 20:48
又是很久没有写技术文章了, 平时的东西会记录在自己的本地, 比较方便; 但是搬上Blog的过程需要重新的总结和回顾甚至排版, 真没有那么多时间弄这些.
进入正题. Kafka从0.7版本到现在的0.10版本, 经历了巨大的变化; 而其中, 首当其冲的是Consumer的机制.
Kafka最早设计Consumer的时候, 大方向比较明确, 就是同时支持Subscribe功能和Message Queue功能. 语义设计上很清晰,但是实现之后, 发现有一些问题. 主要问题集中在:
1 用户希望自己能够控制Offset的保存和读取;
0.8.0 SimpleConsumer Example
2 Offset保存在Zookeeper中对Zookeeper带来压力较大, 需要脱离的ZK的依赖;
Committing and fetching consumer offsets in Kafka
Offset Management
https://issues.apache.org/jira/browse/KAFKA-657
4 用户自己控制Offset时, 却会陷入复杂的异常处理逻辑;
5 老的Consumer会有惊群效应和脑裂问题;
Consumer Client Re-Design
Consumer的改进直到0.9版本, 终于有了一个接近完美的版本; 但是由于向前兼容的需要, 以前的Consumer方式正在被使用, 并没有彻底移除. 由于Consumer的多版本存在, 并且个版本的Consumer变化很大, 这些影响又是对上层可见的, 所以对使用者造成了很大的混淆和困惑.
所以我想在这篇Blog中整理分析一下各Consumer的特点和区别, 让大家有一个纵观历史的认识.
- Kafka Consumer各版本分析总结
- Kafka consumer分析
- kafka consumer group总结
- Kafka Consumer底层原理分析【Kafka系列】
- kafka contrib包之hadoop-consumer分析
- kafka源码分析之consumer的源码
- Kafka console consumer源代码分析(一)
- kafka源码分析之consumer的源码
- kafka consumer
- Kafka-Consumer
- Kafka Consumer
- 跟我学Kafka源码之Consumer分析
- kafka mq consumer
- Kafka Consumer接口
- kafka的consumer接口
- kafka consumer demo 消费者
- Kafka Consumer接口
- Kafka consumer API简介
- 自定义SlideBar实现仿通讯录效果按字母排序
- mysql之使用find_in_set和group_concat组合递归函数时数据不全
- 防止按钮被快速多次点击,从而导致绑定点击事件的js方法ajax多次提交
- CSS3 背景图像的位置
- 2016 版 Laravel 系列入门教程(二)【最适合中国人的 Laravel 教程】
- Kafka Consumer各版本分析总结
- 进程ps -ax
- C++面试题解析
- 多协议底层攻击工具Yesinia
- 數組和指針
- 实现shiro多方式登录系统
- js 获取自适应高度div的高度
- 用Canvas打造高强度渲染SVG
- Java NIO使用