Kafka 0.8的一些变化

原创
2013/07/09 21:03
阅读数 9.4K

之前分享了一个英文版的变化,一直没时间去翻译,今天上了下kafka的官网发现0.8的代码能下载了,更值得关注的是0.8的相关文档也更新上来了,上面的一些变化还是很可喜的,说明这套系统还是有很大的利用价值的。

最重要的一个变化体现在一张图上:


还记得之前kafka0.7版本的时候这张图的样子么:


箭头的指向不同了,之前版本的kafkaconsumer只支持pull的模式来抓取数据,而现在在consumer端的数据获取方式改变了,可以支持push的方式了。这个改变是不是更贴近了现在一些主流的消息系统。另外,Consumer已经支持”long poll”这种方式,这种方式的好处就是减少了不必要的轮询,使得端到端的数据传输更快捷。

consumer的更新比较突出,特别是0.7版本,需要根据partitionoffset获取数据都只能使用low levelapi,而在0.8版本中都支持了high levelAPI了,这样使得编程就更加方便了。不变的是,consumer还是采用consumer group的方式来同时支持queuepublish-subscribe两种方式。每个partition每次只允许一个consumer消费来确保消费的顺序性。

Partitions可以有独立的副本了,这使得之前在服务器宕机情况下,partition丢失的情况不在发生,这些通过配置replication factor进行调整。

更多的内容可参考kafka官网关于0.8版本的叙述。之前的文章都是在0.7x版本上写的,所以如果你要按照之前文章进行参考学习的话请下载0.7x的版本。之后kafka所有的文章都会按照0.8版本的新内容来更新。

展开阅读全文
打赏
7
13 收藏
分享
加载中

引用来自“xuesong13”的评论

引用来自“FrankHui”的评论

引用来自“xuesong13”的评论

你好,我用kafka0.7.2版本,发现consumer在配置多个线程的时候会出现数据丢失的现象,也就是说topicCountMap中的topic对应的数目设置成大于1的数,会出现数据丢失的现象,我去zk中查看了所有的offset值,发现都没有问题,请问你遇到过类似的问题吗?

最好能把代码贴一下 之前倒没注意这个问题

问题解决了,谢谢~

引用来自“molinsa”的评论

请问是怎么解决的,我也遇到了同样的问题
同问 怎么解决的。。
2016/11/21 08:13
回复
举报

引用来自“xuesong13”的评论

引用来自“FrankHui”的评论

引用来自“xuesong13”的评论

你好,我用kafka0.7.2版本,发现consumer在配置多个线程的时候会出现数据丢失的现象,也就是说topicCountMap中的topic对应的数目设置成大于1的数,会出现数据丢失的现象,我去zk中查看了所有的offset值,发现都没有问题,请问你遇到过类似的问题吗?

最好能把代码贴一下 之前倒没注意这个问题

问题解决了,谢谢~
请问是怎么解决的,我也遇到了同样的问题
2015/03/04 14:49
回复
举报

引用来自“wangxiaoxiao”的评论

最新的0.8.1的high level api没有根据offset取的啊

引用来自“FrankHui”的评论

有一个 OffsetFetchRequest 去搜一下
那是simple consumer api里的啊
2014/04/24 09:40
回复
举报
Gaischen博主

引用来自“wangxiaoxiao”的评论

最新的0.8.1的high level api没有根据offset取的啊
有一个 OffsetFetchRequest 去搜一下
2014/04/24 08:24
回复
举报
最新的0.8.1的high level api没有根据offset取的啊
2014/04/23 19:33
回复
举报
请教一下consumer端的push的方式api在哪,找不到。。。
2014/03/20 18:44
回复
举报

引用来自“FrankHui”的评论

引用来自“xuesong13”的评论

你好,我用kafka0.7.2版本,发现consumer在配置多个线程的时候会出现数据丢失的现象,也就是说topicCountMap中的topic对应的数目设置成大于1的数,会出现数据丢失的现象,我去zk中查看了所有的offset值,发现都没有问题,请问你遇到过类似的问题吗?

最好能把代码贴一下 之前倒没注意这个问题

问题解决了,谢谢~
2013/11/13 09:38
回复
举报
Gaischen博主

引用来自“xuesong13”的评论

你好,我用kafka0.7.2版本,发现consumer在配置多个线程的时候会出现数据丢失的现象,也就是说topicCountMap中的topic对应的数目设置成大于1的数,会出现数据丢失的现象,我去zk中查看了所有的offset值,发现都没有问题,请问你遇到过类似的问题吗?

最好能把代码贴一下 之前倒没注意这个问题
2013/10/31 20:21
回复
举报
你好,我用kafka0.7.2版本,发现consumer在配置多个线程的时候会出现数据丢失的现象,也就是说topicCountMap中的topic对应的数目设置成大于1的数,会出现数据丢失的现象,我去zk中查看了所有的offset值,发现都没有问题,请问你遇到过类似的问题吗?
2013/10/30 09:36
回复
举报
Gaischen博主

引用来自“sphinx13”的评论

您好,我对kafka很感兴趣,在单机上跑了一些简单的example,但是一直没有公司类的应用场景,请问您公司或者团队在工作中用kafka吗,会不会有兴趣组织一下北京地区的kafka用户的聚会,讨论下具体生产中的使用?

具体的应用有很多,你可以参考淘宝的metaq 或者linkedin相关应用 我在杭州 。。
2013/08/13 12:31
回复
举报
更多评论
打赏
11 评论
13 收藏
7
分享
返回顶部
顶部