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 官方文档 或入门教程。

相关推荐
谢亮_vipxieliang3 小时前
Spring Cloud 服务治理入门:注册发现、配置中心、网关限流、熔断降级与分布式一致性方案
分布式·spring·spring cloud
樱花落木兰12 小时前
分布式登录实战:Session 会话共享改造,Redis 存储用户登录状态
java·javascript·数据库·redis·分布式·缓存
ShineWinsu12 小时前
对于Redis:Steam、Geospatial、Hyperloglog、Bitmap、Bitfield类型的解析
数据库·c++·redis·分布式·缓存·面试·zset
Flynt1 天前
Redis Cluster主节点挂了,为什么"高可用"还全员掉线?我把三次kill的记录翻出来了
数据库·redis·分布式
JosieBook1 天前
【数据库】MySQL 实战精通系列 · 第10篇:分库分表与分布式事务实战
数据库·分布式·mysql
梦帮科技1 天前
vLLM / TensorRT-LLM 极限推理:PagedAttention 细粒度物理页表管理与连续批处理(Continuous Batching)实战
数据结构·人工智能·分布式·python·深度学习·算法·vllm
用户1494484813201 天前
同为消息队列,RocketMQ 和 Kafka 的底层设计差在哪?
kafka
Frank_refuel2 天前
分布式RPC框架实战(二):服务端模块划分与底层设计
分布式·网络协议·rpc
开开心心就好2 天前
办公软件卸载不干净?专用工具一键清残留
java·前端·人工智能·智能手机·kafka·excel·memcache
mftang2 天前
EtherCAT协议:从“飞读飞写”机制到分布式时钟同步的实时以太网架构深度解析
分布式·架构·ethercat·分布式时钟·从站控制器