kafka消费顺序问题

kafka消费顺序问题

课程中说生产者生产的数据,在消费的时候是无序的,但是我本地代码测试了很多次,结果都是有序的,这是怎么回事呢?

我进入分组查看后,发现每次生产的10条数据会默认都进入到一个分区中,并不是随机分配到不同分区中的,这是什么原因呢?并且反复多次启动后,生产者生产的数据会轮流进入不同的分区,但每一次生产的一连串数据都只会进入一个分区,这是不是意味着每次建立连接,那么在这次连接中所产生的所有数据都会进入一个分区,无论这次连接中的数据是通过多次send产生的?

https://img1.sycdn.imooc.com//climg/6528b16b085fc9b714640732.jpg

https://img1.sycdn.imooc.com//climg/6528b16b08c9c2ab11170782.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

只要有多个分区,写入默认就会随机写入,消费时也无法保证所有分区数据的有序性。

你再看下6-4小节的内容,从这个案例里面也能发现写入随机这个特性。

消费无序这个特性可以通过多消费几次,对比一下每次消费的数据顺序

  • 蒋昌魁 提问者 #1

    老师您看,最新写入的500条数据,全部进入到了一个分区中

    https://img1.sycdn.imooc.com//climg/6528b4ca08607dc314480298.jpg

    https://img1.sycdn.imooc.com//climg/6528b4ca08b14f7513690658.jpg


    2023-10-13 11:09:14
  • 徐老师 回复 提问者 蒋昌魁 #2
    1.你先看一下6-4,根据视频里面执行一下,看看是不是写入到多个分区。2.for里面加一个sleep,再测试一下
    2023-10-13 11:21:58
  • 蒋昌魁 提问者 回复 徐老师 #3

    嗯,谢谢老师,原来是数据量和时间不够大的原因,加了之后,基本平均分配了,不过2000多条数据我发现消费的时候竟然顺序依然是有序的

    https://img1.sycdn.imooc.com//climg/6528be3f084c0da509050463.jpg

    https://img1.sycdn.imooc.com//climg/6528be3f08a3124814500475.jpg


    2023-10-13 11:49:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师