kafka异步发送很耗时怎么办?

# 发表于: 2020-12-28   最后更新时间: 2020-12-28 17:02:16   2,312 游览

提问说明

消费topic分区是48,发送topic分区是24,服务目前有6个节点,消费线程是8

配置
screenshot

发送日志(高峰期会偶尔出现很耗时的情况)
screenshot

报错信息
screenshot

发表于 2020-12-28
#
添加评论

linger.ms太长了,最好是1-10,保持短频快。

半兽人 -> 半兽人 3年前

比如发送一批消息,如果 batch.sizelinger.ms有任何一个达到条件,则会立即发送到kafka里。
batch.size过大会导致单批次消息体积过大,条件很难被满足,所以等待就会拉长。
参考:https://www.orchome.com/511

# -> 半兽人 3年前

有改过10,问题还是会出现,而且出现问题都是其中1.2个节点,其他节点正常。

半兽人 -> # 3年前

你咋知道kafka会发送到哪个节点的?

# -> 半兽人 3年前

数据量很大 6个节点都会有8个线程消费数据啊

半兽人 -> # 3年前

我知道你指的什么了,你指的是1、2节点上的消费者们,发送到kafka的时候,老是阻塞。
1、一台消费节点上有8个消费者,6台*8 = 48个消费者。
2、查看主题分区的消息是否平均(1、2节点拿到对应分区的消息是否比其他节点多)。
3、提高kafka集群的吞吐量,可参照 https://www.orchome.com/41 (关注最大接收缓存等能力)
4、kafka的能力瓶颈在物理资源能力上,如果物理接近满负荷,就无法在优化了,只能通过扩kafka节点。

你的答案

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