rabbitMQ的介绍和使用(基于java的实现)

什么是 MQ

MQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不用依赖其他服务。

同步调用和异步通信
rabbitMQ的介绍和使用(基于java的实现)_第1张图片

 rabbitMQ的介绍和使用(基于java的实现)_第2张图片

rabbitMQ的几个概念

rabbitMQ的介绍和使用(基于java的实现)_第3张图片

 五种消息模型

rabbitMQ的介绍和使用(基于java的实现)_第4张图片

rabbitMQ的介绍和使用(基于java的实现)_第5张图片

在java中实现 发送消息

rabbitMQ的介绍和使用(基于java的实现)_第6张图片

//在application.yml配置mq
spring:
  rabbitmq:
    host: 192.168.25.100 #rabbitMQ的ip地址
    port: 5672 #端口
    username: it
    password: 123321
    virtual-host: /

//测试方法
@RunWith(SpringRunner.class)
@SpringBootTest
public class SpringAmqpTest {
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @Test
    public void testSendMessage2SimpleQueue(){
        String queueName="simple.queue";
        String message = "hello,spring amqp!";
        rabbitTemplate.convertAndSend(queueName, message);
    }
}

 在java中实现 接收消息

rabbitMQ的介绍和使用(基于java的实现)_第7张图片

 @RabbitListener(queues = "simple.queue")
    public void listenSimpleQueue(String msg) {
       System.out.println("消费者接收到simple.queue的消息:【"+msg+"】");
    }

 消费预取限制rabbitMQ的介绍和使用(基于java的实现)_第8张图片

你可能感兴趣的:(分布式,java,java-rabbitmq,rabbitmq,分布式,spring,boot)