谈谈rabbitmq消息队列

在程序开发中,有很多地方都需要用到消息队列,rabbitmq是其中的一种消息队列。rtmq有exchange,路由,队列组成。当生产者产生了一个消息之后,会进到exchange,然后根据路由绑定特定的队列,由消费者从队列中取消息进行消费。

exchange的几种类型

  1. 扇形
  2. default 默认类型
  3. 直连
  4. topic 基于路由,* 匹配一个,#匹配多个
  5. 路由交换机,跟topic类似,根据路由键绑定特定队列
  6. 头交换机,根据消息的header数据

rabbitmq的几种工作模式

  1. 一对一 ,简单模式,基于默认交换机
  2. 一对多,但是只有一个消费者可以消费,工作模式,也是基于默认交换机
  3. 发布订阅 一个消息被多个消费者消费,重复消费,适用场景,群发消息
  4. 路由模式,特定的交换机绑定特定的队列消费
  5. 主题模式,基于topic交换机,*匹配一个,#匹配多个

rabbitmq的适用场景

  1. 并发,有并发需求的时候,先让并发请求进入消息队列,然后由程序从消息队列一个一个消费处理
  2. 异步,像发短信通知,这个就可以直接丢到消息队列,不用管这个结果,把同步的事情,变成异步,减少等待
  3. 减少数据库的压力,如果大量请求,需要访问数据库,可能会对数据库造成压力,放到消息队列之后,可以有程序根据数据的承载情况,分批从消息队列中取消息处理,减轻数据库压力
  4. 解耦,比如ABC三个系统,B,C两个系统都依赖于A系统,这时候,如果有D系统也需要依赖于A系统,那么就需要修改A系统的代码,这样在生产中,对A系统就不友好,如果用消息队列,就可以让BCD直接依赖于消息队列,而不具体依赖于A系统,就不用修改A系统的代码。减少依赖,有点类似于IOC,不依赖于具体实现,只依赖抽象接口。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值