H__D  

2021年6月10日

摘要: 一、引入kafka-clients依赖 要在普通Maven项目中是用Kafka API需要引入Kafka的客户端依赖 1 <dependency> 2 <groupId>org.apache.kafka</groupId> 3 <artifactId>kafka-clients</artifactI 阅读全文
posted @ 2021-06-10 22:46 H__D 阅读(180) 评论(0) 推荐(0) 编辑
 
摘要: 一、Controller选举机制 Kafka核心总控制器Controller在Kafka集群中会有一个或者多个broker,其中有一个broker会被选举为控制器(Kafka Controller),它负责管理整个集群中所有分区和副本的状态。 当某个分区的leader副本出现故障时,由控制器负责为该 阅读全文
posted @ 2021-06-10 22:15 H__D 阅读(162) 评论(0) 推荐(0) 编辑
 
摘要: 一、消费者消费消息流程 二、消费方式 consumer 采用 pull(拉)模式从 broker 中读取数据。 push(推)模式很难适应消费速率不同的消费者,因为消息发送速率是由 broker 决定的。 它的目标是尽可能以最快速度传递消息,但是这样很容易造成 consumer 来不及处理消息,典型 阅读全文
posted @ 2021-06-10 21:07 H__D 阅读(451) 评论(0) 推荐(0) 编辑
 
摘要: 一、生产者发送数据流程 发送数据流程 1、Producer先从ZooKeeper的“/brokers/../stat”节点找到该Partition的Leader 2、Producer将消息发送给该Leader 3、Leader将信息写入本地log 4、Folloers从Leaderpull消息 5、 阅读全文
posted @ 2021-06-10 18:04 H__D 阅读(274) 评论(0) 推荐(0) 编辑
 
摘要: 一、文件存储 kafka 使用日志文件的方式来保存生产者和发送者的消息,每条消息都有一个 offset 值来表示它在分区中的偏移量。Kafka 中存储的一般都是海量的消息数据,为了避免日志文件过大,一个分片 并不是直接对应在一个磁盘上的日志文件,而是对应磁盘上的一个目录,这个目录的命名规则是<top 阅读全文
posted @ 2021-06-10 17:10 H__D 阅读(383) 评论(0) 推荐(0) 编辑
 
摘要: 一、Kafka在ZooKeeper中存储结构图 二、分析 2.1 topic注册信息 /brokers/topics/[topic]:存储某个topic的partitions所有分配信息 [zk: 127.0.0.1:2181(CONNECTED) 1] ls /brokers/topics [__ 阅读全文
posted @ 2021-06-10 15:54 H__D 阅读(141) 评论(0) 推荐(0) 编辑
 
摘要: 1、递归介绍 1.1、递归应用场景 看个实际应用场景, 迷宫问题(回溯), 递归(Recursion) 1.2、递归的概念 简单的说: 递归就是方法自己调用自己,每次调用时传入不同的变量,递归有助于编程者解决复杂的问题,同时可以让代码变得简洁。 1.3、递归调用机制 打印问题 阶乘问题 1 // 阶 阅读全文
posted @ 2021-06-10 15:22 H__D 阅读(68) 评论(0) 推荐(0) 编辑