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

kafka和rabbitmq的broker的组成差异

Kafka Broker

  • Partition Leader + Follower Replicas— 数据以 partition 为单位复制
  • Controller— 集群里只有一个,负责选举 leader、管理副本
  • Log Segments— 消息落地到磁盘的存储结构
  • 无 Erlang— 纯 JVM (Java/Scala)
  • 协调依赖 ZooKeeper 或新版KRaft(Raft 协议)

RabbitMQ Broker

  • Erlang VM— 整个 broker 跑在 Erlang 虚拟机上
  • Virtual Host— 多租户隔离
  • Exchange + Queue + Binding— 路由三件套(direct/fanout/topic/headers)
  • Message Store— 内存 + 磁盘持久化
  • Connection / Channel— 连接复用通道

本质区别

KafkaRabbitMQ
模型Pub/Sub + Log (partition)Pub/Sub + 消息队列
存储Append-only log,消息按 offset 顺序读取消息消费即删除(除非持久化)
协议自定义 binary 协议AMQP 0-9-1, STOMP, MQTT, HTTP
语言JVMErlang
适用场景高吞吐日志流、事件源任务队列、灵活路由

简单说:Kafka broker 是"分布式日志系统",RabbitMQ broker 是"消息队列路由器",设计哲学就不同。

http://www.jsqmd.com/news/1085196/

相关文章:

  • GD32F4 ADC多通道采样与DMA中断高效数据搬运实战
  • FineReport控件交互进阶:基于JavaScript的事件驱动与状态管理
  • 安卓虚拟相机完全指南:3步实现摄像头内容替换
  • 从魔改到精通:深度解析CMSIS-DAP离线下载器FLM文件头部32字节校验算法
  • MaaFramework技术深度解析:构建下一代图像识别自动化测试框架的核心架构
  • FSL工具箱sMRI批量预处理实战:从数据获取到配准全流程解析
  • DingTalk「开发者说」 5分钟实战:从零到一构建你的首个钉钉群机器人
  • 从原理到实践:四挡可调串联直流稳压电源的设计与仿真
  • 告别黑屏:NoMachine连接Headless Ubuntu/Debian的三种实战方案解析
  • BiRefNet:双边参考网络如何解决高分辨率图像分割难题
  • 现代C++ JSON库终极指南:从基础到高级实战应用
  • DS4Windows:在Windows上实现PlayStation控制器完整兼容的技术指南
  • SQL Server到PostgreSQL迁移:如何用自动化工具解决企业级数据库转型挑战
  • 从艾宾浩斯到自适应算法:AI教育产品如何实现“千人千面“的复习节奏
  • 5分钟掌握Scroll Reverser:彻底解决macOS滚动方向冲突的智能工具
  • W25Q128 SPI Flash驱动开发与数据存储实战
  • 构建坚不可摧的日志防线:syslog安全配置与认证实战
  • 不定积分核心解法与典型例题精讲
  • warning: implicit declaration of function ‘printf’(添加头文件: #include <stdio.h>)
  • 【开源实践】基于STM32F429与CycloneTCP的轻量级SIP对讲终端实现
  • 在Windows上无缝驾驭Ubuntu22.04:基于VS Code Remote-SSH的远程开发环境搭建全攻略
  • iPad手柄游戏适配现状与未来展望:从《狂野飙车9》到《使命召唤手游》的体验解析
  • 【夜莺(Flashcat)V6实战】从零到一:构建企业级统一观测平台
  • 5分钟搞定PS3手柄在Windows上的完美使用:DsHidMini虚拟HID驱动终极指南
  • 从公式到实战:位置式与增量式PID调参的核心差异与场景选择
  • Parsec VDD 虚拟显示器驱动深度解析:高性能4K虚拟显示技术实现
  • 雅特力AT32F421的真伪鉴别:从AT-LINK与ST-LINK的调试博弈说起
  • 信息学奥赛一本通(1129:从字符串中精准识别数字字符)
  • 实战指南:基于ELK与Grafana构建天融信防火墙日志可视化看板
  • 终极指南:如何用KLayout Python自动化实现高效版图验证与DRC检查