kafka收发消息延时很高

Insomnia 发表于: 2018-07-04   最后更新时间: 2021-01-27 22:15:33   6,887 游览

服务器目前使用的是kafka+zookeeper standalone模式,想实现类似linux消息队列的功能,即将topic的partition和replication均设置为1,brokers也只有一台服务器。

现在我用pykafka每半分钟向队列中发送一个JSON格式的字符串,另一个线程用iter接受队列消息,收到消息就立即print出来。但是发送和接受之间平均延时超过了两秒,请问是partition等参数设置为1的原因吗?

发表于 2018-07-04
添加评论

补充一下,producer和consumer都只有一个,想对最简单的消息队列进行一个测试

半兽人 -> Insomnia 6年前

kafka默认是批量发送的,所以会稍微“等一下”,你调整发送者的参数,改为立即发送。

Insomnia -> 半兽人 6年前

我的代码是在发送成功后计时,然后再接收成功后计时(两个线程)这个时延很高,和您说的批量发送是似乎是没有关系?

半兽人 -> Insomnia 6年前

你指的发送成功,怎么判断是否已经到kafka了呢?

Insomnia -> 半兽人 6年前

噢噢我尝试过啦,时延降到了0.2S左右,十分感谢您的帮助!
另外producer批处理的等待过程,kafka并没有让这批消息进队列是吗?

半兽人 -> Insomnia 6年前

是还在客户端的批量缓存里,还没到kafka呢。

^ -> Insomnia 5年前

你好,我现在也是遇到了用kafka发收消息延时很高的情况,所以劳烦问下您,具体修改的参数是什么呢?如何做到立即发送,我改了好多参数都没生效

^ -> 半兽人 5年前

你好,具体是哪几个参数呢,我调过好多参数,一直还是不行

你的答案

查看kafka相关的其他问题或提一个您自己的问题