当前位置: 首页 > news >正文

kafaka知识要点

Kafka 核心概念

Kafka 是一个分布式流处理平台,核心概念包括生产者(Producer)、消费者(Consumer)、主题(Topic)、分区(Partition)和 Broker。生产者将消息发布到主题,消费者从主题订阅消息。分区是主题的物理分片,每个分区是一个有序、不可变的消息队列。Broker 是 Kafka 集群中的服务器节点。

分区与副本机制

分区通过水平扩展提高吞吐量,每个分区可以分配到不同的 Broker。副本机制保证数据高可用,每个分区有一个 Leader 副本和多个 Follower 副本。Leader 处理读写请求,Follower 同步 Leader 数据。ISR(In-Sync Replicas)是保持同步的副本集合,只有 ISR 中的副本有资格成为 Leader。

消息存储与清理

Kafka 使用顺序 I/O 和日志分段存储消息,每个分段对应一个文件。消息通过偏移量(Offset)定位,消费者可以重置偏移量重新消费。日志清理策略分为删除(Delete)和压缩(Compact),删除策略基于时间或大小,压缩策略保留每个键的最新值。

生产者与消费者

生产者通过异步或同步方式发送消息,支持消息确认机制(acks=0/1/all)。消费者通过消费者组(Consumer Group)实现负载均衡,每个分区只能被组内一个消费者消费。消费者提交偏移量到 Kafka 或外部存储(如数据库)。

消息的可靠性保证

       生产者:确认机制、持久化机制、失败重试、死信队列

       消费者:确认机制、持久化机制、失败重试

      broke:持久化、幂等性、副本机制、确认机制、事务消息

高可用与性能优化

Kafka 通过多副本和 Leader 选举实现高可用,Zookeeper 用于协调选举和存储元数据。性能优化包括调整批处理大小、压缩算法、分区数量和副本分布。监控指标包括延迟、吞吐量和 ISR 状态。

常见问题与解决方案

消息重复消费问题可以通过幂等生产者或消费者去重解决。消息顺序性通过单分区或业务逻辑保证。数据丢失问题通过合理设置 acks 和副本数量避免。Kafka 集群扩容需要重新分配分区,避免热点问题。

Kafka 与其他技术对比

Kafka 与 RabbitMQ 对比,Kafka 适合高吞吐量场景,RabbitMQ 适合复杂路由和低延迟场景。Kafka 与 RocketMQ 对比,RocketMQ 支持事务消息和延迟消息,Kafka 生态更丰富。Kafka Streams 和 Flink 对比,Flink 提供更复杂的流处理能力。

实际应用场景

Kafka 常用于日志收集、实时数据处理、事件溯源和消息队列。案例包括电商订单流水、用户行为分析和系统监控。设计 Kafka 系统时需要考虑消息大小、吞吐量、延迟和容错需求。

http://www.dtcms.com/a/346602.html

相关文章:

  • Spring Boot 3为何强制要求Java 17?
  • 【modbus】数据采集系统
  • 微服务概述1
  • Elasticsearch Ruby 客户端 Bulk Scroll Helpers 实战指南
  • 【Redis 进阶】----主从复制(重点理解流程和原理)
  • 【Tech Arch】Apache Flume海量日志采集的高速公路
  • 如何在 Spring Boot 中安全读取账号密码等
  • SpringBoot3整合dubbo3客户端【最佳实践】
  • 【204页PPT】某著名企业信息化规划方案(附下载方式)
  • 沟通效率提升 - 智能写作与邮件处理
  • 集成电路学习:什么是CNN卷积神经网络
  • 浏览器解析网址的过程
  • MiniOB环境部署开发(使用开源学堂)
  • 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、三维瓦片地球)第九期
  • 达梦数据库巡检常用SQL(二)
  • Flutter BLoC 全面入门与实战(含代码示例)
  • C#--- 锁总结
  • 在SAP Query中添加双击事件
  • 【CSP初赛】程序阅读3
  • 通过官方文档详解Ultralytics YOLO 开源工程-熟练使用 YOLO11实现分割、分类、旋转框检测和姿势估计(附测试代码)
  • 54 C++ 现代C++编程艺术3-移动构造函数
  • 园区节能减碳大屏可视化设计指南
  • SpringBoot 快速上手:从环境搭建到 HelloWorld 实战
  • frp+go-mmproxy 实现透明代理的内网穿透
  • Vue3 学习教程,从入门到精通,基于 Vue 3 + Element Plus + ECharts + JavaScript的51购商城项目(45)
  • Intel RealSense D435 深度相机详解
  • 小程序备案话术
  • 文献阅读笔记【物理信息神经网络】:Physics-informed neural networks: A deep learning framework...
  • Kubernetes网络服务全解析
  • 【领码方案】PageData 完整解决方案 · 自引用树全链路提速(1.1版 集成层次树)