首页 > 其他 > 详细

消息队列MQ

时间:2019-07-20 09:40:36      阅读:74      评论:0      收藏:0      [点我收藏+]

1、MQ的应用场景
  a)主要解决异步消息
  b)应用解耦
  c)流量消峰等问题
  d)日志处理(kafka)

2、JMS消息模型
  a)P2P(Point to Point)点对点模式(也就是一个任务只能被一个消费者消费)
    1、包含三个角色:消息队列(Queue),发送者(Sender),接受者(Receiver)
    2、简单队列(一对一)
    3、工作队列(轮循队列)(一对多)
    4、平分队列(能者多劳)(一对多)
  b)Publish/Subscribe(Pub/Sub)发布订阅模式
    1、包含三个角色:主题(Topic),发布者(Publisher),订阅者(Subscriber)
    2、一个生产者,多个消息者
    3、每个消费者都有自己的队列
    4、生产者没有直接把消息发送到队列,而是发送到交换机 转发器exchange
    5、每个队列都要绑定到交换机上
    6、生产者发送的消息经过交换机到达队列,就能实现一个消息被多个消费者消费
    7、Exchange(交换机 转发器)
      1、一方面是接受生产者的消息,另一方面是向队列推送消息
      2、匿名转发
      3、Fanout(不处理路由键,广播)
      4、Direct(处理路由键,发布与订阅,完全匹配)

技术分享图片

      5、Topic(主题,规则匹配)
  c)路由模式(路由键)
  d)Topic模式
    1、将路由键和某模式匹配
    2、"#"匹配一个或者多个
    3、“*”匹配一个
3、Rabbitmq的消息确认机制(事务+confirm)
  a)在rabbitmq中,可以通过持久化数据,解决rabbitmq服务器异常的数据丢失问题
  b)问题:生产者将消息发送出去之后,消息到底有没有达到rabbitmq服务器,默认是不知道的
    解决(两种方式):
      1、AMQP实现事务机制
      2、Confirm
  c)事务机制(txSelect,txCommit,txRollback)
    1、txSelect:用户将当前channel设置成transation模式
    2、txCommit:用于提交事务
    3、txRollback:回滚事务

 

消息队列MQ

原文:https://www.cnblogs.com/liugp/p/11216250.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!