RabbitMq学习笔记

能够说出什么是消息队列;为什么使用消息队列;常见产品有哪些

MQ (message Queue)
    消息队列是程序与程序之间的通讯方法,
    无需即时返回且耗时的操作,进行一部处理,而提高程序系统的吞吐量,
    1.异步处理,提高系统的吞吐量
    2.应用程序解耦合

使用场景

 一开始我们可能只需要非常简单的一个web页面,然后调用成单系统,紧接着扣减库存,最后存到db即可
    后来每次交易,还要通知搜索系统,推荐系统,广告结算系统,商家后台等等等

实现方式:
    AMQP,JMS

常见的产品:activeMQ,zeroMQ,RabbitMQ,kafka     


安装配置rabbitmq:

使用
springboot 的maven工程支持amqp相关依赖,Spring Boot提供了对于AMQP的整合;可以使用RabbitTemplate发送消息;可以使用@RabbitListener注解接收消息。

在springboot项目中

生产者:发送消息到RabbitMQ队列(simple_queue)

消费者:接收RabbitMQ队列消息

在springboot项目中创建生产者,把要处理的消息,发送到消息队列

在springboot中创建消费者(@RabbitListener)接收并处理消息


RabbitMq分类
   1. 不直接使用exchange交换机(使用default exchange)
        simple模式:一个生产者产生消息被 一个消费者接收
        work工作队列模式:生产者发送消息,多个消费者监听接收,一个消息只能被一个消费者竞争接收

    2.使用exchange交换机:订阅模式(广播fanout、定向direct、通配符topics)

        1.发布与订阅模式:使用了fanout交换机,可以讲一个消息发给所有绑定该交换的队列
        2.路由模式:使用了derect交换机,消息携带路由key,匹配路由key相同的队列接收
        3.通配符:使用了topics交换机,消息携带路由key(#,*),匹配通配符路由key相同的队列接收

你可能感兴趣的:(mq)