zoukankan      html  css  js  c++  java
  • SpringBoot集成RabbitMQ

    一、关于RabbitMQ

    RabbitMQ是一个消息队列,主要用来实现程序的异步解耦,同时起到消息缓冲,消息分发的作用。

    (异步调用:与之对应的是同步调用,同步调用指程序按照定义的顺序执行,每一行程序必须等待上一行程序执行完毕后再开始执行。异步调用指程序在顺序执行时不必等待调用语句的返回结果就可以执行后面的程序

     解耦:降低程序内部之间的耦合度,就是将程序积木化)

    通常谈到的队列服务有三个概念:发消息者(Producer)队列(Queue)收消息者(Consumer)。RabbitMQ在这个概念的基础上,多做了一层抽象,在发消息者和队列之间,加入了交换器(Exchange),交换机的主要作用是接受消息并转发到绑定的队列,交换机不存储消息。它们的关系如下图所示。

    ~  P代表消息生产者,也就是往RabbitMQ发消息的程序;

    ~  中间的交换机和队列构成了RabbitMQ;

    ~  右侧的C代表消息消费者,也就是从RabbitMQ中拿消息的程序。

    二、SpringBoot集成RabbitMQ

    1、配置Pom包,添加相关依赖

      <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-amqp</artifactId>
            </dependency>
     
    2、添加配置信息
      spring.rabbitmq.host = 192.168.0.181
      spring.rabbitmq.port = 5672
      spring.rabbitmq.username = admin
      spring.rabbitmq.password = admin
     
    3、RabbitMQ配置类,设置队列

    4、设计消息发送者(rabbitTemplate是SpringBoot提供的默认实现)

    5、设计消息接收者

    (消息接收者和消息发送者的queue name必须一致,不然不能接收)(消息接收者的相关程序可以放在另一个SpringBoot项目中,更好的实现解耦)

  • 相关阅读:
    第2章 创建基础框架
    目录
    工厂方法模式(Factory Method)
    petshop4.0 详解之七(PetShop表示层设计)
    第1章 启动电子商务网站
    第3章 创建商品目录:第Ⅰ部分
    编写一个JAVA应用程序,用户从键盘只能输入整数,程序输出这些整数的乘积
    书上例题练习第一章
    java与C/C++的区别
    安装JDK遇到的问题
  • 原文地址:https://www.cnblogs.com/SChenqi/p/10750438.html
Copyright © 2011-2022 走看看