Kafka
何星平
当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来,历练;梦想,不是浮躁,而是沉淀和积累,只有拼出来的美丽,没有等出来的辉煌,机会永远是留给最渴望的那个人,学会与内心深处的你对话,问问自己,想要怎样的人生,静心学习,耐心沉淀,送给自己,共勉。
展开
-
Kafka服务端源码剖析七 -- 服务端发送响应
上节我们看到响应被写到了ResponseQueue队列中,接下来我们来看看服务端发送响应的准备工作。再次回到Processor的run方法,Processor线程是一个非常重要的线程,可以说所有的事就靠这个线程来完成的。override def run() { startupComplete() while (isRunning) { try { // setup any new connections that have been queued up原创 2021-05-11 17:59:01 · 319 阅读 · 0 评论 -
Kafka服务端源码剖析六 -- requestQueue队列里的请求是如何被处理的?
上一小节我们分析到客户端发送过来的请求都被封装成Request对象存储到了RequestChannel的requestQueue队列里了,这一小节我们看一下Server端是如何处理队列里的Request的? /** * Start up API for bringing up a single instance of the Kafka server. * Instantiates the LogManager, the SocketServer and the request handle原创 2021-05-11 17:00:23 · 318 阅读 · 0 评论 -
Kafka服务端源码剖析五 -- Processor线程是如何处理completedReceives请求的?
上次我们分析到Processor线程把请求存入到了completedReceives队列里,我们这次课分析一下,请求存入到completedReceives以后接下来是如何处理的。我们接着看Processor线程的run方法,前面我们已经分析了 configureNewConnections()方法和 poll()方法。接下来我们看看一下processCompletedReceives()方法: private def processCompletedReceives() { //TODO 针对原创 2021-05-08 18:17:40 · 166 阅读 · 0 评论 -
Kafka服务端源码剖析四 -- Processor线程将接受到的请求加入到stagedReceives队列、completedReceives队列
上一节我们分析到Acceptor把接收到的请求给了不同的Processor,然而Processor只是把这些请求给缓存起来了。这些请求终归是需要处理的,接下来我们就看Processor是如何处理这些请求的?,首先从run()方法开始: override def run() { startupComplete() while (isRunning) { try { // setup any new connections that have been queue原创 2021-05-08 17:34:49 · 200 阅读 · 0 评论 -
Kafka服务端源码剖析三 -- 启动用于处理请求连接的Processor线程
在创建Acceptor对象的时候,我们初始化了一个processors数组,然后传入进了Acceptor的主构造方法,如下:endpoints.values.foreach { endpoint => val protocol = endpoint.protocolType //todo numProcessorThreads 网络线程的个数默认为3,至少是1 val processorEndIndex = processorBeginIndex +原创 2021-04-30 17:39:55 · 173 阅读 · 0 评论 -
Kafka服务端源码剖析二 -- Acceptor线程的启动
首先我们进入 kafka的main方法如下:def main(args: Array[String]): Unit = { try { val serverProps = getPropsFromArgs(args) // 创建kafkaServerStartable对象 val kafkaServerStartable = KafkaServerStartable.fromProps(serverProps) // attach shutdown原创 2021-04-30 16:16:12 · 171 阅读 · 0 评论 -
kafka服务端源码剖析一 -- 代码结构
core包: server端的代码,里面涉及了网络通信,副本同步,磁盘读写,集群架构的内容。同时这也是我们接下来剖析的重点。原创 2021-04-30 15:34:50 · 113 阅读 · 0 评论 -
kafka配置参数详解
一、相关参数配置############################ System ##############################唯一标识在集群中的ID,要求是正数。broker.id=0#服务端口,默认9092port=9092#监听地址,不设为所有地址host.name=debugo01 # 处理网络请求的最大线程数num.networ...原创 2020-01-09 13:41:23 · 196 阅读 · 0 评论 -
Kafka HA Kafka一致性重要机制之ISR(kafka replica)
转https://blog.csdn.net/liangzelei/article/details/81201790,感谢分享 Kafka HA Kafka一致性重要机制之ISR(kafka replica) ...转载 2019-07-05 15:35:19 · 254 阅读 · 0 评论 -
kafka总结
1、kafka是什么类JMS消息队列,结合JMS中的两种模式,可以有多个消费者主动拉取数据,在JMS中只有点对点模式才有消费者主动拉取数据。kafka是一个生产-消费模型。Producer:生产者,只负责数据生产,生产者的代码可以集成到任务系统中。 数据的分发策略由producer决定,默认是defaultPartitionUtils.abs(key.hashCode) % ...原创 2019-07-05 15:33:33 · 150 阅读 · 0 评论 -
kafka详解
Kafka核心组件Topic :消息根据Topic进行归类Producer:发送消息者Consumer:消息接受者broker:每个kafka实例(server)Zookeeper:依赖集群保存meta信息。Kafka集群部署下载安装包http://kafka.apache.org/downloads.html在linux中使用wget命令下载安装包wget http:/...原创 2019-07-05 11:11:18 · 184 阅读 · 0 评论