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

三个常听到的消息/中间件MQTT RabbitMQ Kafka - 实践

Q1

Q:你能给我介绍一下MQTT RabbitMQ Kafka

A:行,咱们把这三个常听到的消息/中间件名词拆开说一遍,然后放在一块儿比较一下,就知道各自适合干啥了。

1. MQTT

定位:轻量级的发布/订阅协议
典型场景:物联网、设备上报、弱网、要省流量、省电的场景

  • 特点

    • 协议本身十分轻:头很小、格式便捷,于是适合跑在嵌入式设备、传感器上。

    • Pub/Sub模型:设备往某个“主题”发消息,订阅了这个主题的人就能收到。

    • QoS等级(0/1/2)保证送达程度。

    • 常配合 Mosquitto、EMQX、HiveMQ这类 MQTT broker 用。

    • 多用于:智能家居、车联网、工控、移动端偶尔在线偶尔离线的情况。

一句话:协议 + 轻broker,专为“设备说话”设计的就是MQTT


2. RabbitMQ

定位:通用的消息队列中间件(基于AMQP协议)
典型场景:企业业务解耦、异步任务、订单创建后发通知、延时/重试等

  • 特点

    • 支持多种交换机类型(direct、fanout、topic、headers),路由特别灵活。

    • 消息可靠性做得比较全:确认、持久化、重试、死信队列都能搞。

    • 对业务开发友好,生态成熟,管理面板好用。

    • 吞吐量中等偏上,但不是为“超高吞吐日志流”设计的。

    • 更像是“我要精细控制这条消息怎么走、失败怎么处理”。

一句话:RabbitMQ是做业务级消息的,讲究可靠、路由灵活、好管理


3. Kafka

定位:高吞吐的分布式流式日志系统 / 消息系统
典型场景:日志采集、埋点、链路追踪、实时大数据管道、流式计算前置

  • 特点

    • 吞吐量非常高,能顶住大量生产/消费。

    • 消息是按分区顺序写磁盘的,消费者自己维护offset,要读回去也行。

    • 天生适合做**“我一直往前流”**的场景:日志、埋点、IoT大规模汇聚、实时ETL。

    • 做“精细一次只消费一条然后删了”的传统队列语义,得靠上层自己管。

    • 和 Flink / Spark Streaming 这类流计算搭配得很好。

一句话:为“大量、顺序、可回放的消息流”生的就是Kafka


放在一起怎么选?

可以记下面这个思路:

  1. 是设备么?网络差不差?要省流量?
    → 是,就先想MQTT

  2. 是后台业务,想把下单、发短信、记账、通知这种解耦,顺便要重试、死信?
    → 用 RabbitMQ 很顺手。

  3. 是海量数据流(日志、埋点、实时数仓),要求高吞吐、可回放、要接大材料组件?
    → 用 Kafka

再粗暴点说:

  • 轻 → MQTT

  • 业务 → RabbitMQ

  • 大数据流 → Kafka

Q2

Q:MQTT RabbitMQ Kafka都是订阅的吗,订阅又是什么

A:好问题,其实“订阅”这词一出来就容易让人以为它们都是同一种玩法,但细抠一下就清楚了。

“也能订阅但不止订阅”。就是我先说“订阅”到底是啥,再说这三个里谁是“天生订阅的”,谁

订阅是啥?

可以想成三句话:

  1. 有人发布(publish)一条消息到某个“主题/频道/Topic”上;

  2. 有人事先说:我对这个主题感兴趣(subscribe);

  3. 于是以后这个主题上来的消息就会推给这些订阅的人。

所以“订阅”=“我提前说我要什么”,不是临时来问“现在有消息吗”。

这就叫 发布/订阅(Pub/Sub)模型

好处:

  • 发布方不用知道谁会收

  • 订阅方也不用知道是谁发的

  • 多个订阅者允许同时收到同一条消息(广播效果)


那三个怎么回事?

1. MQTT

  • 是的,基本就是订阅的。

  • MQTT的核心就是发布/订阅,客户端订阅一个topic,比如 home/livingroom/temp,谁往这个topic发消息,订阅的人都能收到。

  • pub/sub”来理解。就是故而MQTT你可以直接当“就

2. RabbitMQ

  • 不是只有订阅。

  • RabbitMQ本质上是“消息队列 + 路由系统”。

  • 它能玩 点对点:一个消息进队列 → 一个消费者拿走。

  • 也能玩 发布/订阅:用 fanouttopic 交换机把一条消息推给多个队列,每个队列后面是一个订阅者,这样就像订阅了。

  • 所以说RabbitMQ是:既能订阅式,也能队列式,看你怎么配置交换机和队列。

3. Kafka

  • 一种订阅。就是从启用体验上,也

  • 你往一个 topic 里写消息

  • 不同的“消费者组”订阅这个topic

  • 它们就能读到自己该读的那部分

  • 不同组之间互不影响

  • 只不过Kafka是“我来拉(pull)”而不是“服务器推给我”,但逻辑上还是:我声明我要这个topic → 我就能拿到这个topic的消息,所以也叫pub/sub。


那“订阅”和“排队”有啥区别?

  • 订阅(pub/sub):一条消息可以被多个订阅者都看到。像群发。

  • 排队(queue / point-to-point):一条消息只给一个消费者处理,像排号办业务。

订阅就是MQTT:几乎都
RabbitMQ:两种都能做
Kafka:主要是按topic订阅来玩

http://www.zskr.cn/news/77676.html

相关文章:

  • 2025年工业锅炉节能设备五大推荐:口碑不错的搪瓷管空预器生
  • 2025年中国五大防盗门品牌售后客服电话汇总:星月神防盗门厂
  • 降ai率工具哪个好?从论文创作场景看工具选择逻辑
  • 2025年中国五大诚信全域外卖运营商推荐:靠谱的全域外卖配送
  • 2025年度十大优质自动化变频控制柜品牌推荐,防爆控制柜/环保控制柜/正压通风防爆控制柜/自动化变频控制柜自动化变频控制柜供应商有哪些
  • 网易企业邮箱使用QQ邮箱代收
  • 2025年五大全国拆迁律师事务所排行榜,看哪家口碑好
  • 2025年最新泳池除湿机直销厂家排行榜揭晓,知名的泳池除湿机厂商深度剖析助力明智之选
  • [译] 大多数技术问题本质上都是人的问题
  • 2025年抽屉式钣金货架厂家口碑与质量排行,电子物料架/重型板材货架/抽拉板材货架/重型货架超强承重抽屉式钣金货架企业推荐排行榜单
  • 2025 年安全阀厂家最新推荐榜:聚焦企业技术实力与市场口碑深度解析,涵盖多类型安全阀优质品牌全启式,微启式,弹簧全启式,弹簧式,衬氟,波纹管,美标安全阀公司推荐
  • web和APP测试有何区别
  • 俄罗斯电商平台选品工具推荐:俄罗斯选品数据平台
  • 2025 年焊台厂家最新推荐榜,聚焦技术实力与市场口碑深度解析热风拆焊台,无铅焊台,高频焊台公司推荐
  • 2025年年终中国电缆品牌推荐:基于权威认证与用户口碑的10家高可靠性企业深度解析
  • 2025全自动咖啡机推荐:从办公到家用的品质之选
  • 2025医疗设备制造行业精密钣金加工推荐指南
  • 2025上海医疗设备行业精密钣金加工公司推荐指南
  • 2025光学与高端装备焊接结构件公司评测报告
  • 2025精密塑胶模具厂家大盘点:深圳塑胶模具公司详细分析
  • 外贸出海企业必看:上海、苏州、无锡地区优秀海外品牌营销推广公司盘点(2025年12月新版)
  • 2025瓷砖胶哪个品牌好合集:内行人讲解附带锢小装产品质量
  • Servlet 与 Tomcat 通俗详解:小白也能懂的 “Java Web 底层组合”
  • 2025年壁虎瓷砖防滑涂料源头厂家权威推荐榜单:环氧彩砂自流平地坪漆‌/环氧地坪漆‌/环氧磨石地坪漆‌‌源头厂家精选
  • 建筑电气设计师必备!T30 天正电气 V1.0,安装教程 从画图到计算全流程
  • 2025年12月天津老房改造施工企业专业评测榜:技术实力全面对比
  • 2025 年质量好的西安彩钢净化板优质厂家推荐好评榜
  • 2025 年安全靠谱的零食品牌推荐:为什么很多人第一反应都是「旺旺」?
  • 2025成都卤菜火锅TOP10,吃货必打卡清单!老火锅/社区火锅/烧菜火锅/特色美食/美食/火锅/火锅店卤菜火锅哪家好吃选哪家
  • AI Agent重塑商业智能:2025技术融合路线图