news 2026/4/16 10:50:28

Kafka四部曲之一:Kafka的核心概念

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Kafka四部曲之一:Kafka的核心概念

文章目录

  • 核心概念
    • 部署交互架构
    • 数据逻辑模型

核心概念

Kafka是一个事件流平台, 结合了三大关键功能:

  • 发布(写入)和订阅(读取)事件流,包括从其他系统持续导入/导出数据。
  • 持久可靠地存储事件流,存储时间长短随您所需。
  • 对正在发生的事件流进行处理,或进行回顾性处理。

并且所有这些功能都以分布式、高度可扩展、弹性、容错和安全的方式提供。

事件流是指:

  • 从数据库、传感器、移动设备、云服务和软件应用程序等事件源实时捕获数据,并将这些数据以事件流的形式存储起来;
  • 将这些事件流持久化存储以便后续检索;
  • 实时以及回顾性地操作、处理和响应这些事件流;

并根据需要将事件流路由到不同的目标技术。因此,事件流能够确保数据的持续流动和解读,从而保证在正确的时间将正确的信息传递到正确的位置。

部署交互架构

Kafka由服务器和客户端组成,并通过TCP网络协议进行通信:

  • 服务端:Kafka 以集群形式运行,集群由一个或多个服务器组成。其中一些服务器构成存储层,称为Broker;其他服务器运行Kafka Connect,以事件流的形式持续导入和导出数据,从而将 Kafka 与您现有的系统(例如关系数据库)以及其他 Kafka 集群集成。
  • 客户端:它们允许您编写分布式应用程序和微服务,以并行、大规模且容错的方式读取、写入和处理事件流,即使在网络问题或机器故障的情况下也能正常运行。

数据逻辑模型

  • 事件:事件记录了世界上或您的业务中“发生了某些事情”这一事实(也被称为记录或消息)。当您向 Kafka 读取或写入数据时,您是以事件的形式进行的。从概念上讲,事件包含键、值、时间戳和可选的元数据标头。
  • 生产者:生产者是向 Kafka 发布(写入)事件的客户端应用程序。
  • 消费者:消费者则是订阅(读取和处理)这些事件的应用程序。
  • 主题:事件被组织并持久存储在主题中。简单来说,主题类似于文件系统中的文件夹,而事件则是该文件夹中的文件。Kafka 中的主题始终是多生产者和多订阅者的:一个主题可以有零个、一个或多个生产者向其写入事件,也可以有零个、一个或多个消费者订阅这些事件。主题中的事件可以根据需要多次读取,并且事件在被使用后不会被删除,相反,您可以通过每个主题的配置设置来定义 Kafka 应该保留事件的时间,之后旧事件将被丢弃。Kafka 的性能与数据大小几乎无关,因此长时间存储数据完全没有问题。
  • 分区:主题是分区的,这意味着一个主题分布在位于不同 Kafka Broker上的多个“存储桶”中。这种分布式数据放置对于可扩展性至关重要,因为它允许客户端应用程序同时从多个Broker读取和写入数据。当一个新事件发布到主题时,它实际上会被追加到该主题的某个分区中。具有相同事件键(类似标签的概念)的事件会被写入同一个分区,Kafka保证给定主题分区的任何消费者始终会按照写入顺序读取该分区中的事件。

为了确保数据的容错性和高可用性,每个主题都可以进行复制,即使跨越不同的地理区域或数据中心,这样就能保证始终有多个代理服务器拥有数据副本,以应对可能出现的故障、代理服务器维护等情况。常见的生产环境配置是复制因子为 3,也就是说,始终会有三个数据副本。这种复制是在主题分区级别执行的。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/10 20:34:52

2026年,Java可能最先被淘汰?

看到这个标题进来的你,现在是什么心情? A. 心里一紧,赶紧进来看看怎么回事 B. 不信邪,准备进来反驳一波 C. 单纯好奇,顺手吃个瓜不管你选哪一个,至少说明一件事:你对自己的职业未来,…

作者头像 李华
网站建设 2026/4/15 3:42:53

天呐!薪资太顶了!一个月拿到4个50K的AI大模型offer!

上次刷到网友求助offer怎么选? 高德扫街的大模型应用开发Java岗位 VS 另一大厂的offer,两者薪资都不差,福利都拉满,网友很纠结怎么选。 当时博主强烈建议他选高德扫街的大模型应用开发Java岗位。原因如下: ① 从经济…

作者头像 李华
网站建设 2026/4/11 16:33:30

COSYVOICE2 vs 传统语音合成:效率对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个对比演示应用,展示COSYVOICE2与传统语音合成工具(如Google TTS或Amazon Polly)在以下方面的差异:1. 开发时间对比&#xff…

作者头像 李华
网站建设 2026/4/15 14:35:00

WINMEMORYCLEANER入门指南:轻松优化你的电脑内存

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 开发一个简单易用的内存清理工具,适合新手用户。功能包括:一键内存清理、内存使用情况可视化、简单的设置选项。使用Python和Tkinter编写,提供友…

作者头像 李华
网站建设 2026/4/13 19:48:27

零基础玩转Llama Factory:艺术家的AI微调入门

零基础玩转Llama Factory:艺术家的AI微调入门 作为一名数字艺术家,你是否曾想过让AI帮你生成独特的创意文本,却又被复杂的代码和命令行操作劝退?今天我要分享的Llama Factory微调工具,正是为艺术创作者量身定制的解决方…

作者头像 李华
网站建设 2026/4/15 21:38:15

CC-SWITCH入门指南:5分钟学会高效条件判断

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 创建一个交互式CC-SWITCH学习应用,包含:1.动态语法演示(点击切换语言) 2.实时代码演练场 3.闯关小游戏(修复错误switch代码) 4.常见陷阱提示 5.学习进度跟踪…

作者头像 李华