随笔分类 -  消息队列

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