常用工具: kafka,redis

news/2025/3/21 0:48:14/

kafka

Apache Kafka 是一个分布式流处理平台,主要用于构建实时数据管道和流应用程序。它具有高吞吐量、低延迟、可扩展性和持久性等特点,广泛应用于日志收集、消息系统、事件溯源、流处理等场景。

以下是 Kafka 的基础知识: 

1. Kafka 的核心概念

1.1 Topic(主题)
  • Topic 是 Kafka 中数据存储的逻辑分类,类似于数据库中的表。

  • 生产者将消息发布到特定的 Topic,消费者从 Topic 订阅并消费消息。

  • 一个 Kafka 集群可以有多个 Topic。 

1.2 Partition(分区)
  • 每个 Topic 可以分为多个 Partition,分区是 Kafka 实现高吞吐量和并行处理的基础。

  • 每个分区是一个有序的、不可变的消息队列。

  • 分区允许 Topic 的数据分布在多个服务器上,从而实现水平扩展。

1.3 Producer(生产者)
  • Producer 是向 Kafka Topic 发布消息的客户端。

  • 生产者可以将消息发送到指定的 Topic 和 Partition。

1.4 Consumer(消费者)
  • Consumer 是从 Kafka Topic 订阅并消费消息的客户端。

  • 消费者可以以组(Consumer Group)的形式工作,组内的消费者共同消费一个 Topic 的消息,实现负载均衡。

1.5 Broker(代理)
  • Broker 是 Kafka 集群中的单个服务器节点。

  • 每个 Broker 负责存储和管理一个或多个 Partition。

  • 多个 Broker 组成一个 Kafka 集群。

1.6 Offset(偏移量)
  • Offset 是消息在 Partition 中的唯一标识,表示消息的位置。

  • 消费者通过维护 Offset 来记录自己消费到的位置。

1.7 Consumer Group(消费者组)
  • Consumer Group 是一组消费者的集合,共同消费一个 Topic 的消息。

  • Kafka 会将 Topic 的 Partition 分配给组内的消费者,确保每条消息只被组内的一个消费者消费。

1.8 Replication(副本)
  • Kafka 通过 Replication 实现数据的高可用性。

  • 每个 Partition 可以有多个副本,其中一个副本是 Leader,负责处理读写请求,其他副本是 Follower,用于数据备份。

2. Kafka 的架构

2.1 生产者-消费者模型
  • 生产者将消息发布到 Kafka Topic。

  • 消费者从 Topic 订阅并消费消息。

2.2 分布式存储
  • Kafka 的数据分布在多个 Broker 上,每个 Broker 存储一部分 Partition。

  • 通过分区和副本机制,Kafka 实现了高可用性和负载均衡。

2.3 ZooKeeper 的作用
  • Kafka 依赖 ZooKeeper 来管理集群元数据、Broker 状态、消费者 Offset 等。

  • 从 Kafka 2.8.0 开始,Kafka 引入了 KRaft 模式,可以不再依赖 ZooKeeper。


http://www.ppmy.cn/news/1580724.html

相关文章

深入理解Python闭包与递归:原理、应用与实践

目录 闭包 什么是闭包: 闭包的基本结构: 实现闭包的条件: 1.嵌套函数 2.内函数引用外部函数的变量 3.外部函数返回内部函数 4.外部函数已经执行完毕 递归函数 什么是递归函数: 递归函数条件 1.必须有个明确的结束条…

docker入门篇

使用docker可以很快部署相同的环境,这也是最快的环境构建,接下来就主要对docker中的基础内容进行讲解.Docker 是一个用于开发、交付和运行应用程序的开源平台,它可以让开发者将应用程序及其依赖打包到一个容器中,然后在任何环境中运行这个容器&#xff0…

基于SpringBoot+Vue+uniapp的高校招聘小程序+LW参考示例

系列文章目录 1.基于SSM的洗衣房管理系统原生微信小程序LW参考示例 2.基于SpringBoot的宠物摄影网站管理系统LW参考示例 3.基于SpringBootVue的企业人事管理系统LW参考示例 4.基于SSM的高校实验室管理系统LW参考示例 5.基于SpringBoot的二手数码回收系统原生微信小程序LW参考示…

在react当中利用IntersectionObserve实现下拉加载数据

目录 一、传统的下拉加载方案 二、存在问题 1.性能较差 2.不够精确 三、IntersectionObserve版本下拉加载 1、callback 2、options 四、IntersectionObserver实例 1、Intersection的优势 2、实现思路 3、代码实现 在进行前端开发的过程中,常常会碰到下拉…

31天Python入门——第5天:循环那些事儿

你好,我是安然无虞。 文章目录 1. while循环1.1 while循环的嵌套1.2 补充学习:print函数 2. for循环2.1 range函数2.2 for循环2.3 continue和break以及return2.4 for循环的嵌套 3. 补充学习3.1 enumerate函数3.2 zip函数3.3 不要在遍历列表的过程中删除元素 循环 是…

《数字图像处理》第三章3.3直方图处理学习笔记

请注意:笔记内容片面粗浅,请读者批判着阅读! 一、直方图处理的核心理论 1. 直方图均衡化(Histogram Equalization) 直方图均衡化的目标是将图像的灰度分布调整为近似均匀分布,从而增强对比度。其核心步骤如下&#…

Kafka 的消息机制以及消息丢失等问题

消息的唯一性 几要素 topic 主题(队列) offset 偏移量 也就是消息顺序 partition 分区 group 组 topicpartitiongroupoffset唯一识别消息定位 消息的对应关系 一个分区对应一个组别中一个消费者 1:1 而消费者 处理多个分区数据 1:n 也就是…

论数据结构

诞生 尼古拉斯・沃斯 1984 年获得图灵奖,1992 年当选瑞士工程院院士,1994 年当选美国国家工程院外籍院士,1999 年 4 月退休。 他曾经提出了一个著名公式:算法 数据结构 程序(Algorithms Data Structures Program…