kirin77 发表于 2022-6-28 13:55

Kafka踩坑--阻塞客户端

我的程序性能很好,为什么往kafka发送数据非常慢?

带着这个问题,我不断的探索,首先怀疑是不是json序列化性能太差了,造成性能瓶颈
ok,开干 ------ golang json序列化替换为protobuf
问题还是那个问题,结果不尽人意.....

最后阅读sarama源码,发现,如下:


image.png

原因就在上图中的asyncProducer对象的successes channel,是个channel没问题啊,但是你是个无缓存channel,无缓存channel没问题啊,但是你有数据以后会阻塞发送者。如下:


image.png

输出success message的时候,每条message打印了一条日志,所以整个程序处理的速度就是你打印日志的速度,这个message还非常非常大。。。。
我去!没想到一条日志,竟然害我找个好几天。真是众里寻她千百度,他竟是一条日志一条日、日、日。。。
页: [1]
查看完整版本: Kafka踩坑--阻塞客户端