Kafka

Kafka

Kafka控制器-Broker上下线

共2848人围观 0个不明物体

在Broker上下线时,控制器对应的监听会读取/brokers/ids/* 下面的Broker列表,并与liveOrShuttingDownBrokerIds比较,得出需要上线/下线的节点。对于上线的...

Kafka

Kafka控制器-分区重分配

共3869人围观 0个不明物体

分区重分配指的是将分区的副本重新分配到不同的代理节点上。如果ZK节点中分区的副本的新副本集合和当前分区副本集合相同,这个分区就不需要重新分配了。分区重分配是通过监听ZK的 /admin/reassig...

Kafka

Kafka控制器- 副本状态机(ReplicaStateMachine)

共2949人围观 0个不明物体

状态机一般用在事件处理中,并且事件会有多种状态。当事件发生变化时,会触发对应的事件处理动作。Kafka控制启动状态机时有下面特点:1、分区状态机和副本状态机需要获取集群中所有分区和副本,因此需要先初始...

Kafka

Kafka控制器-选举

共3164人围观 0个不明物体

控制器是Kafka的核心组件之一,它的主要作用是在 ZooKeeper 的帮助下协调和管理整个Kafka集群。Kafka 利用ZooKeeper 的领导者选举机制,每个Broker 都会参与竞选主控制...

Kafka

Kafka存储层-日志压缩

共2184人围观 0个不明物体

对于存储系统来讲,更新数据通常情况下有 2 种方式:1、直接更新;2、追加的方式更新。第二种做法在更新数据时,不需要读取数据,往往效率比较高。对于Kafka 来讲,消息由Key-Value 组成。在日...

Kafka

Kafka存储层-日志管理

共2847人围观 0个不明物体

Kafka 的日志管理负责日志的创建、检索、清理,和日志相关的读写操作则交给日志实例去处理。每个 TopicPartition 都对应一个物理层面上的 log 实例,LogManager 使用了log...

Kafka

Kafka存储层-数据零拷贝

共3349人围观 0个不明物体

Kafka 在执行消息的写入和读取这么快的原因,其中的一个原因是零拷贝(Zero-copy)技术,下面我们来了解一下这么高效的原因。传统的文件读写传统的文件读写或者网络传输,通常需要将数据从内核态转换...

Kafka

Kafka存储层-消息读取

共2535人围观 0个不明物体

Kafka 的主副本主要负责消息的读写操作,消费者或者备份副本都会向主副本同步数据。客户端读取主副本的过程又叫做“拉取”,拉取消息时肯定会指定拉取的偏移量。比如前面介绍过的,消费者会根据提交偏移量,或...

Kafka

Kafka存储层-日志分段

共2574人围观 0个不明物体

前面我们提到了,服务端存储日志的分区单元是日志分段(LogSegment)。同一个日志分段内,所有消息的偏移量都是递增的,因此可以保证整个分区的偏移量都是递增的。Kafka 服务端节点每个 Topic...