ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

RabbitMQ 介绍

RabbitMQ 介绍

一、RabbitMQ 介绍

RabbitMQ 是一个开源、轻量、可靠的消息中间件(Message Broker),基于 AMQP 协议(高级消息队列协议),使用 Erlang 语言开发,天生高可用。
主要用于 应用之间异步解耦、流量削峰、消息广播、可靠投递,物联网、后端系统非常常用。

1、核心优势

  • 可靠性:支持持久化、ACK 确认、事务、镜像队列,适合不允许丢消息业务(支付、订单)
  • 灵活路由:内置 4 种交换机类型,满足不同分发逻辑
  • 跨语言:Java/Python/Go/JS 都有客户端
  • 集群 & 高可用:支持集群、镜像队列、延迟消息插件
  • 轻量、部署简单,自带 web 管理后台
  • 协议丰富:AMQP/MQTT,IoT 场景友好

2、典型应用场景

  • 系统解耦(最核心):订单下单后发消息,库存、积分、物流各自订阅,主流程不依赖下游服务
  • 异步处理:注册后发短信、邮件、图片转码,异步执行,提升接口响应速度
  • 流量削峰填谷:秒杀、大促,瞬时请求先入队列,下游服务匀速消费,保护数据库
  • 事件广播、通知推送:配置变更、系统公告,Fanout 广播给多个微服务
  • 跨语言通信:多语言客户端(Java/Go/Python/JS)互通
  • RPC 远程调用:自带 reply-to 机制实现请求应答
  • 不适合:海量日志、高吞吐量场景弱于 Kafka(Kafka 适合日志、大数据流),单队列吞
返回列表