kafka简介

Kafka 是一款由 Apache 软件基金会开发的分布式流处理平台,主要用于高吞吐量的实时数据管道构建、流式数据分析及跨系统集成。其核心特性包括持久化存储、水平扩展和容错机制。

核心概念

  1. 主题(Topic)

    消息的分类单元,生产者将消息发送到特定主题,消费者订阅主题进行消费。

  2. 分区(Partition)

    每个主题分为多个分区,分区是消息的有序队列,物理上对应一个文件夹,支持水平扩展。

  3. 副本(Replica)

    分区的副本分布在集群不同节点,通过冗余提升可用性。

  4. 分段(segment)

    宏观上看,(一个partition对应一个日志)。由于生产者生产的消息会不断追加到log文件末尾,为防止log文件过大导致数据检索效率低下,kafka采取分段和索引机制,将每个partition分为多个segment,同时也便于消息的维护和清理。

核心组件

  • 生产者(Producer):发布消息到主题。
  • 消费者(Consumer):订阅主题并处理数据流。
  • 代理(Broker):Kafka 集群中的服务器节点,负责消息存储和转发。

应用场景

  • 实时数据管道:如日志收集、大数据传输。
  • 流式处理:电商订单处理、金融交易监控。

与其他消息队列对比

  • Kafka:高吞吐、持久化存储,适合海量数据场景。
  • RabbitMQ:低延迟、复杂路由,适合中小规模系统。
  • RocketMQ:金融级事务支持,如订单一致性。

参考:Kafka 官方文档 或入门教程。

相关推荐
周杰伦_Jay3 小时前
【实战|旅游知识问答RAG系统全链路解析】从配置到落地(附真实日志数据)
大数据·人工智能·分布式·机器学习·架构·旅游·1024程序员节
深兰科技6 小时前
深兰科技入选“2025中国人工智能行业创新力企业百强”
人工智能·科技·百度·kafka·rabbitmq·memcached·深兰科技
兜兜风d'6 小时前
RabbitMQ事务机制详解
数据库·spring boot·分布式·rabbitmq·ruby·java-rabbitmq
ifeng09186 小时前
HarmonyOS分布式任务调度——跨设备智能任务分配与迁移
分布式·华为·harmonyos
9ilk6 小时前
【仿RabbitMQ的发布订阅式消息队列】--- 模块设计与划分
c++·笔记·分布式·后端·中间件·rabbitmq
Hello World......8 小时前
互联网大厂Java面试实战:以Spring Boot与微服务为核心的技术场景剖析
java·spring boot·redis·微服务·junit·kafka·spring security
linweidong9 小时前
多级缓存系统设计:从本地到分布式,打造高性能利器
分布式·缓存·消息队列·雪崩·java面经·击穿·消费端
西***63479 小时前
怕故障?怕扩展难?分布式可视化控制:给足场景安全感
分布式·数据可视化
qq_5470261799 小时前
分布式Session会话实现方案
分布式