- 1
- 0
- 约1.84千字
- 约 2页
- 2026-08-04 发布于北京
- 举报
暂时先默认,执行到这里的时候,在之前已经把Topic对应的元数据拉取到客户端来缓存
了,所以说Topic-Partitions-Leader/Follower+ISR
(1)获取已经可以发送消息的那些Partition:哪些Partition有已经写满的
batch(16KB),batch创建的时间已经超过了linger.ms,此时这个Partition就有可以
发送出去的batch了,收集出来PartitionLeader所在的Broker
(2)如果说有一些Partition对应的元数据都没拉取到,此时就必须标识一下,必须要
在后面去尝试拉取元数据
(3)检查一下是否准备好可以向那些Broker发送数据了,就是说如果此时还没跟某个
Broker建立好连接,必须在这里把长连接准备好,TCP连接,然后才可以把数据发送过去,
直接就是基于最底层的NIO来开发的
(4)你有很多分区可以发送数据,有一些分区者是在同一个服务器上,此
时按照代理服务器对分区进行分组,找到一个服务器对应的多个分区的批次,如
果一个批次已经在内存缓冲里停留超过60秒,超时不要了
(5)对每个Broker都创建一
原创力文档

文档评论(0)