【黑马点评】 使用RabbitMQ实现消息队列——1.Docker与RabbitMQ环境安装

ops/2024/10/19 1:33:46/

黑马点评中,使用基于Redis的Stream实现消息队列,但是Strema已经不太常用。在此修改为使用RabbitMQ实现消息队列。主要包括RabbitMQ的环境准备(Docker的下载与安装)以及如何修改黑马点评中的代码。

【黑马点评】使用RabbitMQ实现消息队列——1 docker与RabbitMQ环境安装

  • 1 环境准备
    • 1.1 安装docker
      • 1.1.1 安装启用Hyper-V
      • 1.1.2 下载安装Docker
    • 1.2 安装RabbitMQ

1 环境准备

docker_3">1.1 安装docker

注意,由于我的电脑是Win11家庭版,没有Hyper-V,因此需要自己安装并启用Hyper-V

【Docker】掌握 Docker魔法:Windows 11 平台上的完美容器部署终极指南_win11安装docker-CSDN博客

超详细Windows11家庭中文版系统安装Docker-20230401_windows11安装docker-CSDN博客

1.1.1 安装启用Hyper-V

Windows11家庭版上安装Hyper-V并导入虚拟机的方法_windows11家庭中文版启用hiperv-CSDN博客

(1)下载并安装

在桌面新建Hyper-V Instarller.cmd文件,文件内容如下

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

建好后右键选择以管理员身份运行

在这里插入图片描述

运行后,最后输入Y重启计算机

在这里插入图片描述

重启后,在搜索框输入启用或关闭Windows功能,然后找到Hyper-V,启用Hyper-V

在这里插入图片描述

同时注意勾选Windows虚拟机监控程序平台,适用于Linux的Windows子系统和虚拟机平台,重启生效

在这里插入图片描述

1.1.2 下载安装Docker

1、官网下载docker文件Get Started | Docker,选择download for windows下载。

Release notes | Docker Docs

在这里插入图片描述

在这里插入图片描述

2、双击打开下载好的文件Docker Desktop Installer.exe,add shortcut to desktop选择√代表同意添加快捷键到桌面,如果不勾选就说明不创建快捷键,大家根据自己需求选择就行。之后点击

在这里插入图片描述

3、等待一会后会出现下图所示说明安装成功,选择Close and restart 关闭这个界面重启电脑

在这里插入图片描述

  1. 电脑重启后,点击Docker程序会看到如下界面,选择Accpet

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

安装成功,注册一下docker账号后登录

在这里插入图片描述

登陆成功。

在这里插入图片描述

此时,进入命令行,输入如下命令docker --version,输出如下则说明安装成功。

在这里插入图片描述

1.2 安装RabbitMQ

打开命令行,输入以下命令:docker pull rabbitmq:management

在这里插入图片描述

如果想要实现数据持久化,需要添加以下两个命令,不需要的话可以把这两个命令去掉
-v d:/rabbitmq/data:/var/lib/rabbitmq/mnesia/ 挂载宿主机目录到容器目录中
–hostname my_rabbit 指定hostname的名称,因为RabbitMQ的mnesia目录中文件夹名称的一部分是hostname,如果不定义的话,是随机生成的,后续如果重新创建容器,因为挂机目录文件夹名称不一样,就无法保持新旧容器的数据一致。

创建容器并运行

语法 docker run -dit --name {自定义镜像名称} -e RABBITMQ_DEFAULT_USER={用户名} -e RABBITMQ_DEFAULT_PASS={密码} -p {管理界面端口} -p {服务端口} rabbitmq:management

docker run -dit --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 -p 5672:5672 rabbitmq:management

浏览器地址栏输入 http://localhost:15672 ,登录 RabbitMQ 管理界面。如下图则表示安装成功。

在这里插入图片描述

docker中也能看到添加的RabbitMQ

在这里插入图片描述


http://www.ppmy.cn/ops/122380.html

相关文章

Unity实战案例全解析:RTS游戏的框选和阵型功能(5)阵型功能 优化

前篇:Unity实战案例全解析:RTS游戏的框选和阵型功能(4)阵型功能-CSDN博客 本案例来源于unity唐老狮,有兴趣的小伙伴可以去泰克在线观看该课程 我只是对重要功能进行分析和做出笔记分享,并未无师自通&#x…

IDEA创建、导入、删除maven项目

全局配置: 1.File->Close Project 2.Customize->All settings 3. Apply 4.选择JRE版本->Apply 5.选择字节码版本->Apply->OK 全局配置结束 创建maven项目: 1.File->New->Module 2.Build system选择Maven GroupId&#xff1a…

PostgreSQL 任意命令执行漏洞(CVE-2019-9193)

记一次授权攻击通过PostgreSql弱口令拿到服务器权限的事件。 使用靶机复现攻击过程。 过程 在信息收集过程中,获取到在公网服务器上开启了5432端口,尝试进行暴破,获取到数据库名为默认postgres,密码为1 随后连接进PostgreSql …

【多线程】详解 CAS 机制

🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. CAS 是什么1.1 CAS 具体步骤1.2 CAS 伪代码 2. CAS 的应用2.1 实现原子类2.1.1 AtomInteger 类2.1.2 伪代…

初阶C语言-指针

1.指针是什么? 理解指针的两个要点: 1.指针是内存中一个最小单元的编号,也就是地址 2.口头语中说的指针,通常是指指针变量,是用来存放内存地址的变量 总结:指针就是地址,口语中说的指针通常是指…

算法6:模拟运算

文章目录 z字形变幻外观数列数青蛙 题目均来自于力扣 z字形变幻 class Solution { public:string convert(string s, int numRows) {int n s.size();if(n < numRows || numRows 1) return s;int d 2 * numRows - 2;string res;for(int j 0; j < n; j d){res s[j]; …

Java实验 五

一 设计葀个圆柱拰&#xff0c;实验要求如下&#xff1a; &#xff08;1&#xff09;设计葀个圆拰&#xff0c;求圆拯面积&#xff0c;保珙为circle.java (2) 设计葀个圆柱拰&#xff0c;求圆柱拯体积,保珙为cylinder.java 3&#xff09;设计葀个主拰&#xff0c;分别求底面…

Deformable Transformer论文笔记

原文链接 [2010.04159] Deformable DETR: Deformable Transformers for End-to-End Object Detection (arxiv.org)https://arxiv.org/abs/2010.04159 原文笔记 What 作者结合了可变形卷积的稀疏空间采样和 Transformer 的关系建模能力的优点。提出了Deformable Detr Defor…