200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > 10 kafka生产者发送消息的原理

10 kafka生产者发送消息的原理

时间:2022-05-26 05:37:13

相关推荐

10 kafka生产者发送消息的原理

1.发送原理:

在消息发送的过程中,涉及到了两个线程——main 线程和 Sender 线程。在 main 线程中创建了一个双端队列 RecordAccumulator。main 线程将消息发送给 RecordAccumulator,Sender 线程不断从 RecordAccumulator 中拉取消息发送到 Kafka Broker。

通用是不使用这个拦截器的,使用的是Flume的拦截器,对数据进行加工不使用Java的序列化工具,因为Java的序列化太重,大数据量并不适用数据经过分区器后,一个分区会创建一个队列创建队列的过程都是在内存中完成的,队列内存的总大小是32M,传输数据的批次大小是16KB,sender线程是专门用来将数据发送至broker的。缓冲区大小到达阙值后发送或者是时间到达后开启发送

消息发送到哪一个partition呢?

(1)如果消息中指定了Partition id,那就发送到对应的partition;
(2)如果没有,那就消息的key进行hash一下;
(3)如果id和key都没有,那就随机;

kafka消息的确认机制ack

(1)0表示不需要ACK,安全性低效率高;
(2)1表示需要一个ACK才会继续下一条;(一个follower接收就可以)
(3)-1(all)表示所有的follower都完成才会继续下一条,效率最低;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。