在老版本kafka中,消息都是来一条发送一条,这种方式会造成消息发送的吞吐量比较低,所以之后kafka对这种方式进行了优化,提供了批量发送的方式,把多条消息绑定成一批消息发送,以此来提高消息发送的吞吐率。
这种方式就是缓冲池的思想,发送消息的逻辑大概如下:
1、把消息封装成producerRecord对象
2、消息序列化(可自定义)
3、消息分区(可自定义)
4、消息被放入缓冲池中
5、会有一个sender线程,从缓冲池取数据,然后把多条消息再封装成有一个批次,再一次发送出去。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)