1.发送原理:
在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka Broker。
通用是不使用这个拦截器的,使用的是Flume的拦截器,对数据进行加工不使用Java的序列化工具,因为Java的序列化太重,大数据量并不适用数据经过分区器后,一个分区会创建一个队列创建队列的过程都是在内存中完成的,队列内存的总大小是32M,传输数据的批次大小是16KB,sender线程是专门用来将数据发送至broker的。缓冲区大小到达阙值后发送或者是时间到达后开启发送