随笔分类 - 消息队列
摘要:写入流程 Kafka 服务端通过 的`handle() ApiKeys handle() PRODUCE`类型,表示有生产者客户端发送了消息,之后将消息传递给副本管理器处理。 副本管理器会将消息追加到分区 leader 副本的日志文件中,然而实际上并不
阅读全文
摘要: Kafka 服务端通过 的主函数 方法启动。 类提供读取配置文件、启动/停止服务的方法。而启动/停止服务最终调用的是 的`startup/shutdown`方法。 启动流程 1. 启动 zk 客户端。 2. 启动动态配置。 3. 启动调度线程池。 4. 启动日志管理器的后台线
阅读全文
摘要:消费组和消费者 1. 消费组和消费者是一对多的关系。 2. 同一个消费组的消费者可以消费多个分区,且是独占的。 3. 消费者的分区分配策略由接口 定义,内置三种分配策略 、`RoundRobinAssignor StickyAssignor`,支持自定义策略。 4. 不同消费组可以消费相同的分区,互
阅读全文
摘要:1 KafkaConsumer 构造器 1. 初始化参数配置。 2. 初始化消费者网络客户端 。 3. 初始化消费者协调器 4. 初始化拉取器 2 订阅主题 1. 调用订阅方法 会将订阅信息记录到 ,多次订阅会覆盖旧数据。 2. 如果元数据缓存 不包含订阅的主题,则设置 ,标识需要更新元数据。 3
阅读全文
摘要:1 初始化配置 Kafka 通过 KafkaConsumer 构造器初始化生产者客户端的配置。 常用的重要配置,详见 "官网" 。 bootstrap.servers:Kafka 集群地址(host1:post,host2:post),Kafka 客户
阅读全文
摘要: Kafka 在初始化生产者客户端时,创建并启动 Sender 线程。通过 Sender 线程来发送消息、处理消息的响应。通过“volatile boolean running”状态控制 Sender 线程不断轮询,调用 NetworkClient 的 poll 方法。Netw
阅读全文
摘要:1 KafkaProducer 构造器 1. 初始化参数配置。 2. 初始化记录累加器 RecordAccumulator。 3. 初始化 Kafka 连接 KafkaClient,发现集群的所有节点加入缓存。 4. 初始化实现了 Runnable 接口的 Sender 对象,并在 ioThread
阅读全文
摘要:1 初始化配置 Kafka 通过 KafkaProducer 构造器初始化生产者客户端的配置。 常用的重要配置,详见 "官网" 。 bootstrap.servers:Kafka 集群地址(host1:post,host2:post),Kafka 客户
阅读全文

浙公网安备 33010602011771号