首页 > 其他 > 详细

kafka 简单理解 - Partition的读和写

时间:2020-04-11 01:36:28      阅读:108      评论:0      收藏:0      [点我收藏+]

1.kafka所采用的设计方式,盘子就是partition,每个人就是一个consumer,每个苹果就是一条message。办法三每个盘子中苹果的消费是有序的,而办法二的消费是完全无序的

第二种方法:

技术分享图片

 

第三种方法:

技术分享图片

 

2.Partition的读和写

 我们知道topic下划分了多个partition,消息的生产和消费最终都是发生在partition之上。下图是一个三个partition的topic的读写示意

技术分享图片

 

 我们先看右边的producer,可以看到写的时候,采用round-robin算法,轮询往每个partition写入。

而在消费者端,每个consumer都维护一个offset值,指向的是它所消费到的消息坐标。

我们先看group A的三个consumer,他们分别独立消费不同的三个partition。每个consumer维护了自己的offset。

我们再看group B,可以看到两个group是并行消费整个topic,同一条消息会被不同group消费到。

https://blog.csdn.net/liyiming2017/article/details/82805479

https://zhuanlan.zhihu.com/p/60110741

此处有如下知识点:

1、每个partition都是有序的不可变的。

2、Kafka可以保证partition的消费顺序,但不能保证topic消费顺序。

3、无论消费与否,保留周期默认两天(可配置)。

4、每个consumer维护的唯一元数据是offset,代表消费的位置,一般线性向后移动。

5、consumer也可以重置offset到之前的位置,可以以任何顺序消费,不一定线性后移。
————————————————

原文链接:https://blog.csdn.net/liyiming2017/java/article/details/82805479

 

kafka 简单理解 - Partition的读和写

原文:https://www.cnblogs.com/hixiaowei/p/12677360.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!