Kafka-服务端-API层

Handler线程会取出Processor线程,放人RequestChannel的请求进行处理,并将产生的响应通过RequestChannel传递给Processor线程。

Handler线程属于Kafka的API层,Handler线程对请求的处理通过调用KafkaApis中的方法实现。

KafkaRequestHandler

KafkaRequestHandler的主要职责是从RequestChannel获取请求并调用KafkaApis.handle方法处理请求。

API层使用KafkaRequestHandlerPool来管理所有的KafkaRequestHandler线程,KafkaRequestHandlerPool是一个简易版的线程池,其中创建了多个KafkaRequestHandler线程。

KafkaApis

KafkaApis是Kafka服务器处理请求的入口类。它负责将KafkaRequestHandler传递过来的请求分发到不同的handl*处理方法中,分发的依据是RequestChannel.Request中的requestld,此字段保存了请求的ApiKeys的值,不同的ApiKeys值表示不同请求的类型。

相关推荐
IT枫斗者23 分钟前
如何解决Java EasyExcel 导出报内存溢出
java·服务器·开发语言·网络·分布式·物联网
谷大羽23 分钟前
Kafka Stream实战教程
spring boot·后端·中间件·kafka·stream
求积分不加C26 分钟前
Kafka怎么发送JAVA对象并在消费者端解析出JAVA对象--示例
java·分布式·kafka·linq
GDDGHS_2 小时前
“Kafka面试攻略:核心问题与高效回答”
分布式·面试·kafka
宋发元3 小时前
Go语言使用 kafka-go 消费 Kafka 消息教程
golang·kafka·linq
꧁薄暮꧂3 小时前
kafka中的数据清理策略
数据库·分布式·kafka
hong1616883 小时前
大数据技术Kafka详解:消息队列(Messages Queue)
大数据·分布式·kafka
宋发元3 小时前
Go消费kafka中kafkaReader.FetchMessage(ctx)和kafkaReader.ReadMessage(ctx)的区别
golang·kafka·linq
eternal19954 小时前
优化算法|基于Deep-Q-Network(DQN)的邻域搜索算法求解分布式柔性作业车间调度问题
分布式·算法
呼啦啦啦啦啦啦啦啦6 小时前
【Rabbitmq篇】RabbitMQ⾼级特性----持久性,发送⽅确认,重试机制
分布式·rabbitmq