写到这里想对kafka生产者做一个总结,算是kafka生产的完结篇,总结一下它里面到底使用了技巧,使之它这么快:
网络通信
1,采用NIO进行网络通信,kafka只是对NIO做了一下简单的封装
数据存储
1,采用分区为KEY,双向队列为VALUE存储消息,双向队列中存放的批消息对象。这样在发送的时候可以一块一块的提交。ConcurrentMap<TopicPartition,Deque<RecordBatch>>
发送数据的组装
1,发送数据的时候只要可以发送,那么就会一次尽可能多的提交批记录。(哪怕是有一块的数据没有达到发送条件)
以上先总结这么多:后面发掘后再续。。。。
网友评论