消息队列总结

##消息队列
###1.什么是消息以及消息队列?
   1.消息指的是应用间的传递的数据。消息可以只包含文本字符串,也可以是更复杂,包含嵌入对象。
   2.消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,由消息系统来确保信息的可靠传递。消息发布者只管把消息发布到MQ中而不用管是谁来取,消息使用者只管从MQ中取到消息而不管是谁发布的。这样发布者和使用者都不用知道对方的存在。
###2.使用消息队列的情景例子?
   以常见的订单系统为例,用户点击下单之后的业务逻辑包括:扣减库存、生成相应的单据、发红包、发短信通知。在业务发展初期这些逻辑的可能放在一起同步执行,随着业务的发展订单量的增长,需要提升系统服务的性能。这时可以将一些不需要立即生效的操作拆分出来异步执行,比如发送红包,发送短信通知等。这些常景就可以MQ,在下单的主流程(比如扣减库存、生成相应的单据)完成之后发送一条消息到MQ让主线程快速完结,而有另外的单独线程拉取MQ的消息(或者由MQ推送消息),当发送MQ中有发送短信或者发送红包之类的消息时,执行相应的业务逻辑。
###3.应用场景
   1.日志处理(将消息队列用在日志处理中,比如Kafka的应用,解决大量日志传输的问题)
   2.消息通讯(点对点通信,发布订阅模式)
   3.异步处理(减少处理的时间);
   4.解耦(实现订单系统与库存系统的应用解耦)
   5.流量削峰(一般在秒杀或团抢活动中使用广泛)
###4.(RabbitMq中的)五种队列模式
   1.简单队列(简单队列中的生产者和消费者关系是一对一的模式)
   
   2.工作队列(一个生产者,两个消费者;但是MQ中的一个消息只能被一个消费者所获取。这种模式类似于集群,能者多劳,性能好的可以安排多消费,性能低的安排低消费)
   
   3.发布订阅模式(这种模式可以满足一个生产者发布一个消息,消息被多个消费者所接收)
      特点:1.一个生产者,多个消费者;
         2.每个消费者都有自己的队列;
         3.生产者没有把消息发送到消息队列上,而是发送到交换机上.
         4.每个消息队列都绑定到交换机上;
         5.生产者把消息发送到交换机,交换机在发送给绑定到他身上的消息队列上,然后就可以实现一个消息被多个消费者所接收。
   
   4.路由模式(Routing),路由模式是在发布订阅模式的基础上的完善,可以在生产消息的时候,加入Key值,与Key值匹配的消息者消费消息
   
   5.通配符模式(Topic),通配符模式是在路由模式基础上的完善,他允许key进行模糊匹配,*代表一个词,#代表一个或者多个词。
   

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值