kafka 分区问题请教
初学kafka,想咨询下kafka 消息有序的问题,请教下 这个有序是不是指单独的partition是有序的 但是整个topic有多个分区的话那消费者读取的时候 怎么保证顺序呢
有点蒙圈
参考的案例是:
http://blog.csdn.net/liuwei0376/article/details/66979371
消费者读取的时候 怎么保证顺序?这个是啥意思?
###########
可以看下下图
有三个分区,三个消费者
分区是有序的,读取的时候,是按照这个顺序来的。
每个分区只能被一个消费者消费,所以不可能出现第二个消费者。这样读取就肯定是有序的。
但是一个消费者可以读取多个分区。
就像古代,一个男人可以娶多个老婆,而一个老婆只能嫁一个男人。
消费者就是男人
分区就是女人
这就是他们之间的对应关系。
nextuser 发表于 2017-6-15 16:11
消费者读取的时候 怎么保证顺序?这个是啥意思?
###########
可以看下下图
1个消费者可以读取多个分区?
这样的话 从消费者的角度看 不就是乱序了吗?因为我理解这个有序只是针对partition而言
Wyy_Ck 发表于 2017-6-15 17:06
1个消费者可以读取多个分区?
这样的话 从消费者的角度看 不就是乱序了吗?因为我理解这个有序只是 ...
消费者不分有序无序,你读到数据后,爱干嘛干嘛。你放到文件里也行,放到数据库也行,直接打印也行。
建议楼主先写个程序就理解了。
arsenduan 发表于 2017-6-15 17:59
消费者不分有序无序,你读到数据后,爱干嘛干嘛。你放到文件里也行,放到数据库也行,直接打印也行。
建 ...
好的 感谢建议
可以把需要保证顺序的消息,通过设置相同的key,来发送到同一个分区。同一个分区内是可以保证顺序消费的 每一个分区有序,消费者针对该topic的offset才不会乱
页:
[1]