前言
Kafka是一款由linkedln(领英)公司开发,并由Apache基金会开源的中间件。
Kafka由Scala和Java写成,主要负责分布式消息订阅,它可以处理生产者和消费者之间的动作流,作为消息队列为业界所使用。
Kafka的介绍(根据官网)
Kafka作为一个分布式的流平台,究竟意味着什么?
一个流平台具备以下三种能力:
- 发布、订阅消息流,就好像一个消息队列或企业信息系统
- 以容错的持久方式保存数据流
- 处理发生的信息流。
kafka常被用作两大类应用。
- 建立实时的流数据管道,在系统和应用之间连接数据。
- 建立实时的流数据管道,对数据流进行转化或相应。
几个重要概念
- Kafka是按照集群方式运行的,集群内各个节点可以跨越多个数据中心。
- Kafka集群按照不同的topic记录数据流,不同topic记录不同的数据流。
- 每个记录包括一个key,一个value,一个时间戳。
Kafka的四个核心API:
- Product API允许应用向一个或多个topic发布一个数据流信息
- Consumer API允许应用订阅一个或这个topic并处理生成给它们的数据流信息。
- Streams API允许某个应用做为流处理器,使用来自一个或多个topic的输入流,并生成一个或多个输出topic的输出流。
- Connector API允许建立和运行可重用的生产者或消费者,并将Kafka topic连接到现在的应用程序和数据系统。例如,连接到关系数据库的connector可能会捕获到对数据表的更改。
Kafka保证了客户端和服务期间的沟通是简单的、高可用的、TCP连接(无关语言的)。此协议已版本化,并保持向下兼容。
具体如图所示:
About me: 资深大猪蹄子
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)