消费topic分区是48,发送topic分区是24,服务目前有6个节点,消费线程是8
配置
发送日志(高峰期会偶尔出现很耗时的情况)
报错信息
linger.ms太长了,最好是1-10,保持短频快。
linger.ms
1-10
比如发送一批消息,如果 batch.size和linger.ms有任何一个达到条件,则会立即发送到kafka里。batch.size过大会导致单批次消息体积过大,条件很难被满足,所以等待就会拉长。参考:https://www.orchome.com/511
batch.size
有改过10,问题还是会出现,而且出现问题都是其中1.2个节点,其他节点正常。
你咋知道kafka会发送到哪个节点的?
数据量很大 6个节点都会有8个线程消费数据啊
我知道你指的什么了,你指的是1、2节点上的消费者们,发送到kafka的时候,老是阻塞。1、一台消费节点上有8个消费者,6台*8 = 48个消费者。2、查看主题分区的消息是否平均(1、2节点拿到对应分区的消息是否比其他节点多)。3、提高kafka集群的吞吐量,可参照 https://www.orchome.com/41 (关注最大接收缓存等能力)4、kafka的能力瓶颈在物理资源能力上,如果物理接近满负荷,就无法在优化了,只能通过扩kafka节点。
找不到想要的答案?提一个您自己的问题。
0 声望
这家伙太懒,什么都没留下
linger.ms
太长了,最好是1-10
,保持短频快。比如发送一批消息,如果
batch.size
和linger.ms
有任何一个达到条件,则会立即发送到kafka里。batch.size
过大会导致单批次消息体积过大,条件很难被满足,所以等待就会拉长。参考:https://www.orchome.com/511
有改过10,问题还是会出现,而且出现问题都是其中1.2个节点,其他节点正常。
你咋知道kafka会发送到哪个节点的?
数据量很大 6个节点都会有8个线程消费数据啊
我知道你指的什么了,你指的是1、2节点上的消费者们,发送到kafka的时候,老是阻塞。
1、一台消费节点上有8个消费者,6台*8 = 48个消费者。
2、查看主题分区的消息是否平均(1、2节点拿到对应分区的消息是否比其他节点多)。
3、提高kafka集群的吞吐量,可参照 https://www.orchome.com/41 (关注最大接收缓存等能力)
4、kafka的能力瓶颈在物理资源能力上,如果物理接近满负荷,就无法在优化了,只能通过扩kafka节点。
你的答案