Kafka 基本概念和术语

1、消息

Record:Kafka 是消息引擎嘛,这里的消息就是指 Kafka 处理的主要对象。

2、主题

Topic:主题是承载消息的逻辑容器,在实际使用中多用来区分具体的业务。在Kafka 中发布订阅的对象是 Topic。

3、分区

Partition:一个有序不变的消息序列。每个主题下可以有多个分区。业务上要保证顺序性,将消息都写到一个分区,由单个消费线程消费即可实现顺序消费。多个分区无法保证消息的全局顺序性

4、消息位移

Offset:表示分区中每条消息的位置信息,是一个单调递增且不变的值。kafka 底层是追加写,所以效率高,所以单调递增,一旦写到磁盘上后,消息的位置就是固定的了

5、副本

Replica:Kafka 中同一条消息能够被拷贝到多个地方以提供数据冗余,这些地方就是所谓的副本。

副本还分为领导者副本和追随者副本。领导者副本对外提供服务,生产者向领导者副本写消息,消费者从领导者副本读消息;追随者副本只是向领导者副本发起请求同步最新的消息。

为啥是追随者副本向领导者副本发起请求而不是领导者副本向追随者推送消息?Kafka 不是 PUSH 模型而是 PULL 模型。

副本是在分区层级下的,即每个分区可配置多个副本实现高可用

6、生产者

Producer:向主题发布新消息的应用程序,可以向一个或者多个主题发送消息。

7、消费者

Consumer:从主题订阅新消息的应用程序,可以同时订阅多个主题的消息。 一个主题可以让若干个 consumer 消费,若干个 consumer 组成一个 consumer group ,一条消息只能被 consumer group 中一个 consumer 消费,若干个 partition 被若干个 consumer 同时消费,达到消费者高吞吐量

8、消费者位移

Consumer Offset:表征消费者消费进度,每个消费者都有自己的消费者位移。正常都是顺序消费一遍的,当然也可以重置消费者位移来达到业务目的。

9、消费者组

Consumer Group:多个消费者实例共同组成的一个组,同时消费多个分区以实现高吞吐。

10、重平衡

Rebalance。消费者组内某个消费者实例挂掉后,其他消费者实例自动重新分配订阅主题分区的过程。Rebalance 是 Kafka 消费者端实现高可用的重要手段。

11、broker

服务代理节点,Kafka 服务实例。 N 个组成一个 Kafka 集群,通常一台机器部署一个 Kafka 实例,一个实例挂了其他实例仍可以使用,体现了高可用。

为什么 Kafka 不像 MySQL 那样允许追随者副本对外提供读服务?

为什么kafka不支持主从分离? - 知乎

相关推荐
SoleMotive.13 小时前
谢飞机爆笑面经:Java大厂3轮12问真题拆解(Redis穿透/Kafka分区/MCP Agent)
redis·spring cloud·kafka·java面试·mcp
程序猿阿伟14 小时前
《分布式追踪Span-业务标识融合:端到端业务可观测手册》
分布式
爆米花byh15 小时前
在RockyLinux9环境的Kafka4.1.1单机版安装(无ZK依赖)
中间件·kafka
yumgpkpm15 小时前
预测:2026年大数据软件+AI大模型的发展趋势
大数据·人工智能·算法·zookeeper·kafka·开源·cloudera
消失的旧时光-194316 小时前
第十六课实战:分布式锁与限流设计 —— 从原理到可跑 Demo
redis·分布式·缓存
若水不如远方16 小时前
分布式一致性(三):共识的黎明——Quorum 机制与 Basic Paxos
分布式·后端·算法
DemonAvenger17 小时前
Kafka消费者深度剖析:消费组与再平衡原理
性能优化·kafka·消息队列
会算数的⑨17 小时前
Kafka知识点问题驱动式的回顾与复习——(一)
分布式·后端·中间件·kafka
张小凡vip17 小时前
Kafka--使用 Kafka Connect 导入/导出数据
分布式·kafka
回忆是昨天里的海18 小时前
kafka概述
分布式·kafka