mq介绍

作者: candice0430 | 来源:发表于2023-08-03 09:31 被阅读0次

    1、什么是MQ?
    2、MQ的作用,应用场景
    问题:耦合度过高,通讯成本过高、
    作用:解耦、异步、削峰填谷

    • 场景一:异步处理(用户注册、ownbank开户)


      image.png
      image.png
    • 场景二:应用解耦(订单系统&库存系统)


      image.png
      image.png
    • 场景三:流量削峰(打卡、秒杀)


      image.png

      3、MQ有哪些?
      RabbitMQ、RocketMQ、Kafka、ActiveMQ
      4、简单的架构图
      举例:京东物流
      rabitMQ、RocketMQ
      5、mq的通讯方式

    • hello-world工作模式:点对点模式
      一个生产者、一个消费者、一个队列


      image.png
    • 工作队列模式:work-quene
      一个生产者、一个队列、多个消费者
      可以解决消费积压问题。
      但最终只有一个消费者可以消费消息。


      image.png
    • 发布订阅模式(广播模式)
      一个生产者、一个交换机(多个队列)、多个消费者
      一个生产者可以被多个消费者共同消费
      场景:管理员要给所有用户发送消息、公告


      image.png
      image.png
    • 路由模式
      一个生产者、一个交换机、多个队列、多个消费者
    • 主题模式
      要消费的路由key可以使用通配符指定,其中*表示任意一个单词,#表示任意多个单词
    • 消息确认模式(publish/confirm)
      消费者要告诉队列消息消费成功了,然后队列就会删掉该消息,否则该消息一直不删除。
      6、消息的可靠性:confirm机制、return机制
      (1)、发送的可靠性
      (2)、接收的可靠性


      image.png

      消息的可靠性:

    • 消息不能丢失
    • 消息不能重复
      如何避免消息重复消费?
      本质上:给每条消息设置一个唯一标识,标识这个消息是否被处理过,如果是消费过的消息就不再处理。


      image.png

      什么是幂等:
      多次操作,结果都是一样的
      在DB中,CRUD对应的幂等:

    • 幂等:查询(根据ID查询)、删除(根据ID删除) 更新(条件相同)
    • 非幂等:新增
      举例:之前ownbanker消息重复消费

    相关文章

      网友评论

          本文标题:mq介绍

          本文链接:https://www.haomeiwen.com/subject/vwbqpdtx.html