Kafka基本概念和功能

本文介绍了Kafka的基本特性,包括其作为集群的运行方式、使用topic分类存储流数据,并详细阐述了Kafka的核心功能,如Producer API、Consumer API、Streams API和Connector API。此外,还讲解了Kafka的Topic概念,每个topic可以有多个分区和消费者,数据以文件形式持久化。最后,探讨了Kafka的分布式特性,包括leader-follower结构和故障转移机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kafka结构了解

ps:个人理解,建议去看原版文档

官网直通车

基本特性

  1. Kafka作为一个集群,运行在一台或者多台服务器上.
  2. Kafka 通过 topic 对存储的流数据进行分类。
  3. 每条记录中包含一个key,一个value和一个timestamp(时间戳)。

核心功能

  1. The Producer API 允许一个应用程序发布一串流式的数据到一个或者多个Kafka topic。

  2. The Consumer API 允许一个应用程序订阅一个或多个 topic ,并且对发布给他们的流式数据进行处理。

  3. The Streams API 允许一个应用程序作为一个流处理器,消费一个或者多个topic产生的输入流,然后生产一个输出流到一个或多个topic中去,在输入输出流中进行有效的转换。

  4. The Connector API 允许构建并运行可重用的生产者或者消费者,将Kafka topics连接到已存在的应用程序或者数据系统。比如,连接到一个关系型数据库,捕捉表(table)的所有变更内容。

Topic

Kafka的主要数据存储方式。
一个topic可以由一个或者多个消费者,(类比与点对点通信或者广播方式)
每个topic可以分多个区域存储数据,(类似硬盘分区,一个topic是一块物理硬盘,可划分不同磁盘区域。)
每个分区上的每条数据都有一个唯一且顺序的标识offset, (数据库中的id)
topic中的数据以文件的形式保存在硬盘中,可以设置保留时间,只要存在,可以随时读取,无论该条数据记录是否被消费(读取过),Kafka的性能和数据大小无关,所以长时间存储数据没有什么问题。

分布式

server可以存在一台或者多台物理服务器上
每个partition都归属于一个server下,这个server就是leader,其他server会同步这个partition成为follwer。
每个partition不一定在同一个server下,所以每个server只是某个或者某几个partition的leader也是其他partition的follower.
如果leader的挂掉,会自动把某个follower变成leader

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值