1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-20 22:17:09 +08:00

Dueue应该改成Deque,双端队列的意思

This commit is contained in:
sid 2020-01-05 15:59:21 +08:00
parent 2c36a40a89
commit 4666687ff3

View File

@ -50,7 +50,7 @@ Consumer Group同一个Consumer Group中的ConsumersKafka将相应Topic中
ProducerRecord对象中如果指定了partition就使用这个partition。否则根据key和topic的partition数目取余如果key也没有的话就随机生成一个counter使用这个counter来和partition数目取余。这个counter每次使用的时候递增。
**2发送到batch&&唤醒Sender 线程**
根据topic-partition获取对应的batchsDueue<ProducerBatch>然后将消息append到batch中.如果有batch满了则唤醒Sender 线程。队列的操作是加锁执行所以batch内消息时有序的。后续的Sender操作当前方法异步操作。
根据topic-partition获取对应的batchsDeque<ProducerBatch>然后将消息append到batch中.如果有batch满了则唤醒Sender 线程。队列的操作是加锁执行所以batch内消息时有序的。后续的Sender操作当前方法异步操作。
![send_msg](https://blog-article-resource.oss-cn-beijing.aliyuncs.com/kafka/send2Batch1.png)![send_msg2](https://blog-article-resource.oss-cn-beijing.aliyuncs.com/kafka/send2Batch2.png)