当前位置:   article > 正文

服务异步通信-RabbitMQ安装

服务异步通信-RabbitMQ安装

请添加图片描述
个人名片:

博主酒徒ᝰ.
个人简介沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志三人行,必有我师焉。

请添加图片描述
本项目基于B站黑马程序员Java《SpringCloud微服务技术栈》,SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式

【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 点击观看

二、RabbitMQ快速入门

1. RabbitMQ概述和安装

  1. RabbitMQ是基于Erlang语言开发的开源消息通信中间件,官网地址:https://www.rabbitmq.com/
  • RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件,也称面向消息的中间件。
  • RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。对于所有主要的编程语言,均有与代理接口通讯的客户端库。
  • RabbitMQ在2013年5月成为GoPivotal的一部分。

RabbitMQ是一个可靠、快速、灵活的消息中间件,它用于在不同的应用程序或服务之间传递消息。通过使用AMQP协议,RabbitMQ能够在分布式系统中实现可靠的消息传递。

RabbitMQ的主要概念包括以下几种:

  • 消息:在应用程序之间传递的数据。
  • 队列:用于存储消息的容器。
  • 生产者:向队列中发送消息的应用程序。
  • 消费者:从队列中接收消息的应用程序。

RabbitMQ的主要用途包括以下几种:

  • 解耦:通过将消息发送到队列,生产者和消费者可以独立地运行和扩展。
  • 异步处理:消费者可以在后台处理消息,从而不会阻塞生产者。
  • 流量控制:通过控制队列的大小,可以限制生产者的发送速度,以防止消息过多地占用内存。
  • 优先级处理:可以根据需要将消息标记为高优先级或低优先级,以便消费者根据其需要处理消息。
  1. 安装流程:
    1. 下载镜像
      方式一:在线拉取
docker pull rabbitmq:3-management
  • 1

在这里插入图片描述

	方式二:从本地下载
	课前资料中提供了镜像压缩包mq.tar
  • 1
  • 2

在这里插入图片描述

docker load -i mq.tar
  • 1

在这里插入图片描述
2. 安装MQ

docker run \
-e RABBITMQ_DEFAULT_USER=itcast \
-e RABBITMQ_DEFAULT_PASS=123321 \
--name mq \
--hostname mq \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3-management
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • -e: 该选项用于设置环境变量,此例中设置了两个环境变量RABBITMQ_DEFAULT_USER和RABBITMQ_DEFAULT_PASS。
    “RABBITMQ_DEFAULT_USER=itcast”: 该环境变量设置了RabbitMQ的默认用户为’itcast’。
    “RABBITMQ_DEFAULT_PASS=123321”: 该环境变量设置了RabbitMQ的默认用户密码为’123321’。
  • --name mq: 该选项用于给容器实例指定一个名字,这里给容器命名为’mq’。
  • --hostname mq: 该选项用于设置容器的主机名为’mq’。
  • -p 15672:15672: 该选项用于端口映射,将宿主机的15672端口映射到容器的15672端口。
  • -p 5672:5672: 该选项用于端口映射,将宿主机的5672端口映射到容器的5672端口。
  • -d: 该选项用于在后台运行容器,并返回容器ID。"
  • rabbitmq:3-management: 该选项指定了使用的Docker镜像名为rabbitmq,版本为3-management,即RabbitMQ的3.7.x版本的管理插件。

在这里插入图片描述

解释:
15672是管理平台的端口,5672是做消息命令连接的端口
–name具有唯一性,若已存在对应的name会报错,如下:
在这里插入图片描述

3.登录rabbitmq
在这里插入图片描述
用户名和密码为运行MQ容器是设置的-e属性USER和PASS。
username:itcast
password:123321
在这里插入图片描述

  1. RabbitMQ的结构和概念
    在这里插入图片描述

  2. RabbitMQ中的几个概念:
    channel:操作MQ的工具
    exchange:路由消息到队列中
    queue:缓存消息
    virtual host:虚拟主机,是对queue、exchange等资源的逻辑分组

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/码创造者/article/detail/921185
推荐阅读
相关标签
  

闽ICP备14008679号