Kafka源码解读 - 架构及核心概念

本文深入解析Kafka的架构设计,包括Broker、Topic、Partition、Offset、Replica、Producer、Consumer和Consumer Group。核心概念部分讨论了分区多副本机制、AR & ISR、HW & LEO,阐述了Kafka如何通过这些机制实现高可用性和高性能。

Kafka源码解读 - 架构及核心概念

架构设计
Kafka结构

在这里插入图片描述

  • Broker:一台Kafka服务器就是一个Broker,集群由多个Broker组成,一个Broker中保存有多个Topic的不同分区副本,Broker之间没有主从关系。
  • Topic:每条发送到Kafka集群的消息都属于某个主题Topic,物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存在一个或多个Broker上,但从客户角度不需要关心数据存放在何处,只需要指定Topic就可以生产和消费消息。
  • Partition:一个Topic可以分成若干的分区,并保存在集群的多个Broker节点上。分区中的每一条消息都会被分配一个自增ID,即消费位移Offset。Kafka只保证按照一个分区中的顺序将消息发送给消费者,但是不保证多个分区之间的顺序。
  • Offset:分区中的消息消费位移,指向该分区最新消费位移的下一位。
  • Replica:分区的副本,一个分区可以配置多个副本保存在不同Broker节点上,副本集合中有一个Leader副本,其他为Follower副本,Leader副本处理外部读写请求,Follower副本负责同步Leader副本数据。
  • Message:消息是通信的基本单位。
  • Producer:消息生产者,将消息发布到指定Topic,也可以指定发到某个分区,基于轮询或者Hash算法。
  • <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值