1)RabbitMQ的安装。

安装步骤比较简单,在这里就不多说,不会的小伙伴可以按照以下链接来安装:RabbitMQ的安装教程

2)RabbitMQ是什么?

RabbbitMQ是基于AMQP消息队列的一种,具有跨平台性的特点,传输的类型为json格式

3)为什么要用RabbitMQ?

当两个进程相互通信的时候,更改一个进程会引起另一个进程的变化,为了解决这个问题,在中间加入消息队列,降低耦合度,双方只需要跟消息队列交互。具体的场景:(1)异步消息处理。(2)多个系统之间的解耦。

4)如何使用RabbitMQ?

RabbitMQ之入门那些事儿
工作流程:A方以消息+路由键(msg+rout key)的形式发送到服务器交换机 (Exchange),服务器上的虚拟主机的交换机(Exchange)根据路由键(rout key)把消息绑定到到对应的消息队列Queues,然后发送一个tcp包,在里边建立多个信道,提高消息传输效率,B方接收消息。
Springboot代码:

//pom依赖:
<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>
//配置文件 application.properties
spring.rabbitmq.host=localhost
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.port=5672
//测试代码
	@Test //发送消息
	    public void contextLoads() {
	        Map map = new HashMap();
	        map.put("msg","这是一个Mq");
	        map.put("data", Arrays.asList("nice","meet"));
	        rabbitTemplate.convertAndSend("queues.news","queues",map);
	        consumer();
	    }

    @Test //接收消息
    public void consumer(){
        Object o = rabbitTemplate.receiveAndConvert("myQueues");
        System.out.println(o.getClass());
        System.out.println(o);
    }

相关文章: