kafka是什么?

Kafka 是什么?Apache Kafka 是一款开源的消息引擎系统(也有翻译为消息队列、消息中间件),旨在实现系统间松耦合异步数据传输。

传输消息的模式支持点对点模式和发布-订阅模式。

相关概念:

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

分区:Partition。一个有序不变的消息序列,每个主题下可以有多个分区。

消息位移:Offset。表示分区中每条消息的位置信息,是一个单调递增且不变的值。

副本:Replica。Kafka 中同一条消息能够被拷贝到多个地方以提供数据冗余,这些地方就是所谓的副本。副本还分为领导者(leader)副本和追随者(follower)副本,各自有不同的角色划分。副本是在分区层级下的,即每个分区可配置多个副本实现高可用。

生产者:Producer。向主题发布新消息的应用程序。

消费者:Consumer。从主题订阅新消息的应用程序。

消费者位移:Consumer Offset。表征消费者消费进度,每个消费者都有自己的消费者位移。

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

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

服务器:Kafka集群包含一个或多个服务器,这种服务器被称为broker;

生产者产生发布消息,放入某个topic,消费者订阅1个到多个topic;

一个topic对应多个分区,分区物理分布在broker集群上,每个分区有一个leader分区和0或多个follower分区,其中leader分区可以读写,follower分区只定期拉去leader分区的内容做备份,leader分区挂了follow分区顶上。

每个分区可以存放N个消息,消息位移从0开始,顺序递增;

以图中为例:假定一个主题有3个分区0,1,2,分布在3个broker上,不同生产者都可以往同一topic中发消息,然后消息分别放入不同分区存储; 订阅了该topic的消费者可以读取消息。

相关推荐
黄雪超2 小时前
Kafka——关于主题管理
大数据·分布式·kafka
找不到、了4 小时前
Kafka在Springboot项目中的实践
spring boot·分布式·kafka
沈健_算法小生4 小时前
Apache Kafka核心组件详解
分布式·kafka·apache
武子康5 小时前
大数据-57 Kafka 高级特性 Producer 消息发送流程与核心配置详解
大数据·后端·kafka
梦想画家6 小时前
Kafka Streams窗口技术全解析:从理论到电商实时分析实战
kafka·kafka stream·窗口计算
用户8566054774728 小时前
kafka相关
kafka
哈哈很哈哈9 小时前
深入解析 Apache Flink FLIP-511:优化 Kafka Sink 事务处理,减轻 Broker 负载
大数据·flink·kafka
weixin_4398280911 小时前
kafka 消息队列
分布式·kafka
沈健_算法小生1 天前
Kafka 重复消费与 API 幂等消费解决方案
分布式·kafka·linq
武子康2 天前
大数据-55 Kafka 实战详解:sh启动、主题管理、Java客户端完整示例
大数据·后端·kafka