消息队列
O'Neal
这个作者很懒,什么都没留下…
展开
-
Kafka2.0生产者客户端使用
1 初始化配置 Kafka 通过 KafkaProducer 构造器初始化生产者客户端的配置。 常用的重要配置,详见官网。bootstrap.servers:Kafka 集群地址(host1:post,host2:post),Kafka 客户端初始化时会自动发现地址,所以可以不填写所有地址。key.serializer:实现了 Kafka 序列化接口的类,用来序列化 key。val...原创 2019-07-13 22:30:56 · 135 阅读 · 0 评论 -
Kafka2.0生产者客户端源码分析
1 KafkaProducer 构造器初始化参数配置。初始化记录累加器 RecordAccumulator。初始化 Kafka 连接 KafkaClient,发现集群的所有节点加入缓存。初始化实现了 Runnable 接口的 Sender 对象,并在 ioThread 中启动线程。2 发送消息执行消息拦截器查询 Kafka 集群元数据序列化 key、value获取分区把消...原创 2019-07-14 12:00:02 · 202 阅读 · 0 评论 -
Kafka2.0生产者客户端源码分析 - Sender线程
Kafka 在初始化生产者客户端时,创建并启动 Sender 线程。通过 Sender 线程来发送消息、处理消息的响应。通过“volatile boolean running”状态控制 Sender 线程不断轮询,调用 NetworkClient 的 poll 方法。NetworkClient 是 Kafka 实现的用来和 broker 通信的类,实现了 KafkaClient 接口,底层实...原创 2019-07-14 17:04:00 · 155 阅读 · 0 评论 -
Kafka2.0消费者客户端使用
1 初始化配置 Kafka 通过 KafkaConsumer 构造器初始化生产者客户端的配置。 常用的重要配置,详见官网。bootstrap.servers:Kafka 集群地址(host1:post,host2:post),Kafka 客户端初始化时会自动发现地址,所以可以不填写所有地址。group.id:消费组 IDkey.serializer:实现了 Kafka 序列化接口的...原创 2019-07-15 00:05:07 · 756 阅读 · 0 评论 -
Kafka2.0消费者客户端源码分析
1 KafkaConsumer 构造器初始化参数配置。初始化消费者网络客户端 ConsumerNetworkClient。初始化消费者协调器 ConsumerCoordinator初始化拉取器 Fetcher2 订阅主题初始化订阅状态 SubscriptionState...原创 2019-07-16 00:16:26 · 200 阅读 · 0 评论 -
Kafka2.0消费者协调器源码
消费组和消费者消费组和消费者是一对多的关系。同一个消费组的消费者可以消费多个分区,且是独占的。消费者的分区分配策略由接口PartitionAssignor定义,内置三种分配策略RangeAssignor、RoundRobinAssignor、StickyAssignor,支持自定义策略。不同消费组可以消费相同的分区,互不干扰。消费者协调器和组协调器客户端的消费者协调器Consum...原创 2019-07-17 00:34:48 · 119 阅读 · 0 评论 -
Kafka2.0服务端启动源码
Kafka 服务端通过Kafka.scala的主函数main方法启动。KafkaServerStartable类提供读取配置文件、启动/停止服务的方法。而启动/停止服务最终调用的是KafkaServer的startup/shutdown方法。启动流程启动 zk 客户端。启动动态配置。启动调度线程池。启动日志管理器的后台线程,包括日志清理、日志刷盘、日志删除、日志压缩。启动 NIO...原创 2019-07-18 00:19:55 · 96 阅读 · 0 评论