SpringBoot28 RabbitMQ知识点、Docker下载RabbitMQ、SpringBoot整合RabbtiMQ SpringBoot28 RabbitMQ知识点、Docker下载RabbitMQ、SpringBoot整合RabbtiMQ

 

1 RabbitMQ知识点

  1.1 整体架构图

    消息生产者将消息投递到exchange中,exchange会以某种路由机制将生产者投递的消息路由到queue中,消息消费者再从queue中获取消息进行消费

 

 

  1.2 核心概念

    1.2.1 server

      又称Broker,接收客户端的连接,实现AMQP实体服务

    1.2.2 Connection

      连接,应用服务与Broker的网络连接(PS:和JDBC中的connection作用相似)

    1.2.3 Channel

      网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道。客户端可建立多个Channel,每个Channel代表一个会话。【PS:相当于JDBC的Statement】

    1.2.4 Message

      消息,服务器和应用程序之间传递的数据,由Properties和Body组成;Properties可以对消息进行修饰,比如消息的优先级、迟延等高级特性;Body则就是消息的内容。

    1.2.5 Virtual Host

      虚拟地址,用于进行逻辑隔离的最上层的消息路由。一个Virtual Host 里面可以有若干个Exchange 和 Queue,同一个Virtual Host里面不能有相同名称的Exchange或Queue;默认是 / , Virtual Host 通常用来进行项目划分,即:一个项目相关的exchange 和 queue 都在一个Virtual Host中。

     1.2.6 Exchange

      交换机,用于接收消息;根据路由键转发消息绑定的队列

    1.2.7 Binding

      Exchange 和 Queue 之间的虚拟连接,Binding 可以包含routing key。

    1.2.8 Routing Key

      一个路由规则,虚拟机可以用它来确定如何路由一个特定消息;就是exchange和queue的路由规则

    1.2.9 Queue

      也称Message Queue,消息队列,保存消息并将他们转发给消费者

   1.3 RabbitMQ消息的流转

    消息发布者会发送一个消息、exchange、routeing Key 到rabbtiMQ,他们先经过 Virtual Host , 再经过 Exchange, 再到Queue;消息消费者再到Queue中获取消息

 

2 Docker下载RabbiMQ

  2.1 Docker环境搭建

    

  2.2 安装RabbitMQ

    2.2.1 拉取RabbitMQ镜像

      技巧01:rabbitMQ的版本可以去官网进行查看

    2.2.2 查看拉取的镜像列表

    2.2.3 创建并启动rabbitMQ容器

docker run -d --hostname my-rabbit -p 5672:5672 -p 15672:15672 rabbitmq:3.7.7-management

      技巧01:-p 是将虚拟机的端口和docker中的端口做一个映射,这样访问虚拟机的端口就相当于访问了docker中的端口

      技巧02:5672是连接rabbtiMQ的端口,15672是连接rabbitMQ管理页面的端口

    2.2.4 查看启动的rabbitMQ容器

  2.3 连接rabbitMQ管理页面

    技巧01:直接在浏览器访问 虚拟机IP + rabbtiMQ管理页面端口 即可,例如:

http://192.168.233.135:15672/

    技巧02:第一次访问的时候需要输入用户名和用户密码,默认的用户名和用户密码是guest

    技巧03:访问成功后的界面如下

 

3 SpringBoot整合RabbitMQ之消费发布者

  3.1 创建一个SpringBoot项目

    引入相关依赖:web、amqp,其他的都是辅助依赖

复制代码
        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-web</artifactId>        </dependency>        <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-amqp -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-amqp</artifactId>        </dependency>
复制代码
 pom.xml

  3.2 配置文件

 application.properties

  3.3 发布消息

    依赖注入RabbitTemplate的实例并调用实例方法convertAndSend发布消息

    技巧0

50000+
5万行代码练就真实本领
17年
创办于2008年老牌培训机构
1000+
合作企业
98%
就业率

联系我们

电话咨询

0532-85025005

扫码添加微信