1.生产者发送消息流程
1.1发送原理
在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程
中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator,
Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka Broker。
一个分区创建一个队列
1.2 参数列表
2.异步发送
2.1普通异步
1)需求:创建 Kafka 生产者,采用异步的方式发送到 Kafka Broker
2.2 带回调函数的异步发送
回调函数会在 producer 收到 ack 时调用,为异步调用,该方法有两个参数,分别是元
数据信息(RecordMetadata)和异常信息(Exception),如果 Exception 为 null,说明消息发
送成功,如果 Exception 不为 null,说明消息发送失败。
3.同步发送
只需在异步发送的基础上,再调用一下 get()方法即可。
4.生产者分区
5 生产经验——生产者如何提高吞吐量
默认情况:0ms,来一箱拉走一箱 低延迟
高吞吐 修改ms,压缩,缓冲区大小
6 生产经验——数据可靠性
ack 应答原理