RabbitMQ 简介

RabbitMQ是一款开源消息中间件,基于Erlang编写,支持多种协议。其特点是可靠性、灵活的路由、集群和高可用性队列。消息中间件的主要作用包括解耦、异步通信和流量削峰。点对点模式和发布订阅模式是其两种主要的通信模式。通过引入消息队列,系统可以在不影响用户体验的情况下处理高并发和解耦各个组件。
摘要由CSDN通过智能技术生成


RabbitMQ是目前非常热门的一款消息中间件,凭借其高可靠、易扩展、高可用及丰富的功能特性受到越来越多公司的青睐。

什么是消息中间件

消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串、 JSON 等,也可以很复杂,比如内嵌对象。

消息队列中间件,也可以称为消息队列或者消息中间件。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

它一般有两种传递模式:点对点(P2P,Point-to-Point)模式和发布/订阅(Pub/Sub)模式。

点对点模式

点对点模式是基于队列的,消息生产者发送消息到队列,消息消费者从队列中接收消息,队列的存在使得消息的异步传输成为可能。

发布订阅模式

发布订阅模式定义了如何向一个内容节点发布和订阅消息,这个内容节点称为主题(topic),主题可以认为是消息传递的中介,消息发布者将消息发布到某个主题,

而消息订阅者则从主题中订阅消息。主题使得消息的订阅者与消息的发布者互相保持独立,不需要进行接触即可保证消息的传递,发布/订阅模式在消息的一对多

广播时采用。

目前开源的消息中间件有很多,比较主流的有RabbitMQ、Kafka、ActiveMQ、RocketMQ等。

消息中间件的作用

解耦

场景说明:

用户下单后,订单系统需要通知库存系统。传统的做法是,订单系统调用库存系统的接口。

传统模式的缺点:

假如库存系统无法访问,则订单减库存将失败,从而导致订单失败订单系统与库存系统耦合。

引入消息队列:

订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功

库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存系统根据下单信息,进行库存操作

优点ÿ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值