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项目中,更好的实现解耦)

  • 相关阅读:
    [Android] 开源框架 xUtils HttpUtils 代理设置 (Temporary Redirect错误)
    [Android] 开源框架 Volley 自定义 Request
    [算法]——汉诺塔的递归深度
    [libwww-perl]——POST方法的使用
    [Go语言]从Docker源码学习Go——Interfaces
    [Linux]可用于管道操作的命令
    npoi 导出word中写入特殊字符
    thinkphp框架中使用PHPExcel,按模板导出excel
    Access导出csv 内容添加双引号 vba
    导出excel和PDF小结 vba
  • 原文地址:https://www.cnblogs.com/SChenqi/p/10750438.html
Copyright © 2011-2022 走看看