首页 > 其他分享 >虚拟机使用MQ及介绍

虚拟机使用MQ及介绍

时间:2025-01-10 21:03:23浏览次数:3  
标签:操作系统 虚拟机 宿主机 介绍 mq MQ docker

mq官网:https://www.rabbitmq.com

一、虚拟机与 MQ 的结合优势

隔离与安全:虚拟机为 MQ 的运行提供了一个独立的环境,与宿主机以及其他虚拟机相互隔离。这意味着即使 MQ 所在的虚拟机出现故障或遭受安全威胁,也不会直接影响到宿主机和其他系统组件。例如,若某个恶意程序试图攻击 MQ,它只能在虚拟机的受限范围内活动,从而保障了整个系统的安全。

环境可定制性:开发者可以根据 MQ 的具体需求,自由定制虚拟机的配置,如内存大小、CPU 核心数、磁盘空间等。对于一些对资源需求较高的 MQ 应用场景,如处理大量实时消息的系统,可以为虚拟机分配更多的内存和 CPU 资源,确保 MQ 的高效运行。同时,还可以在虚拟机中安装特定版本的操作系统和依赖库,以满足 MQ 的特定运行要求。

便捷的测试与开发:在开发和测试阶段,虚拟机使得搭建 MQ 环境变得极为便捷。开发者可以轻松创建多个虚拟机实例,模拟不同的分布式场景,对 MQ 的功能和性能进行全面测试。例如,在测试一个分布式电商系统的消息传递功能时,可以通过在多个虚拟机中分别部署订单系统、库存系统和 MQ,来模拟实际生产环境中的消息交互,及时发现并解决潜在问题。

与其他的消息中间件对比

二、在虚拟机中部署 MQ 的步骤

选择合适的虚拟机软件:常见的虚拟机软件有 VMware Workstation、VirtualBox 等。以 VirtualBox 为例,它是一款开源且功能强大的虚拟机软件,支持多种操作系统的安装。首先需要从官方网站下载并安装 VirtualBox,安装过程较为简单,按照向导提示操作即可。

创建虚拟机:打开 VirtualBox 后,点击 “新建” 按钮创建一个新的虚拟机。在创建过程中,需要设置虚拟机的名称、类型(如 Linux 或 Windows)、内存大小等参数。例如,为了运行基于 Linux 的 MQ,选择 Linux 类型,并根据 MQ 的资源需求合理分配内存,如 2GB。接着,创建虚拟硬盘,选择合适的硬盘类型(如 VDI)和大小。

没有的话创建一个就好了

安装操作系统:下载适合 MQ 运行的操作系统镜像文件,如 Ubuntu Server 镜像。在虚拟机设置中,将光驱设备指向该镜像文件,然后启动虚拟机。按照操作系统安装向导的提示,完成系统的安装过程,包括选择语言、分区、设置用户名和密码等步骤。

像这种可以去网上找虚拟机操作系统

使用docker拉取mq

docker run \
 -e RABBITMQ_DEFAULT_USER=itheima \
 -e RABBITMQ_DEFAULT_PASS=123321 \
 -v mq-plugins:/plugins \
 --name mq \
 --hostname mq \
 -p 15672:15672 \
 -p 5672:5672 \
 --network hmall \
 -d \
 rabbitmq:3.8-management

安装完成后,需要先启动docker容器

systemctl start docker

可以根据名字启动

启动mq

docker start 容器名称(或者容器ID)

可以看到启动后可以查看

docker ps

在浏览器中查看

地址是虚拟机的固定网络ip地址加上15672即可访问

创建时的用户名和密码

就成功进来啦

三、在虚拟机中使用 MQ 的注意事项

网络配置:确保虚拟机与宿主机以及其他相关系统之间的网络连接正常。在使用虚拟机的网络模式时,要根据实际情况选择合适的模式,如桥接模式、NAT 模式等。桥接模式下,虚拟机可以直接与宿主机所在网络中的其他设备通信,适合需要与外部网络进行广泛交互的场景;NAT 模式则通过宿主机进行网络地址转换,适合对网络安全性要求较高且主要与宿主机进行通信的场景。

资源监控:由于虚拟机的资源是有限的,需要密切监控 MQ 在虚拟机中的资源使用情况。可以使用操作系统自带的监控工具,如在 Linux 系统中使用top命令查看 CPU 和内存使用情况,使用df -h命令查看磁盘空间使用情况。一旦发现资源不足,及时调整虚拟机的配置或优化 MQ 的运行参数。

性能优化:在虚拟机中运行 MQ 时,可以采取一些性能优化措施。例如,调整虚拟机的内存分配策略,为 MQ 预留足够的内存空间;优化 MQ 的配置参数,如消息队列的缓存大小、线程池设置等;对虚拟机的磁盘 I/O 进行优化,如选择合适的磁盘类型和设置合理的磁盘缓存。

四、总结

在虚拟机中使用 MQ 为分布式系统的开发和部署带来了诸多便利。通过合理利用虚拟机的隔离性、可定制性等优势,开发者能够更加灵活地搭建和管理 MQ 环境。然而,在实际使用过程中,需要注意网络配置、资源监控和性能优化等方面的问题,以确保 MQ 在虚拟机中稳定高效地运行。

标签:操作系统,虚拟机,宿主机,介绍,mq,MQ,docker
From: https://blog.csdn.net/m0_65941214/article/details/145064949

相关文章

  • VMWare-虚拟机Linux(CentOS),ping ip地址出现 Network is unreachable和name or service
    检查虚拟网络编辑器VMNet1(仅主机)勾选:将主机虑拟适配器连接到此网络;使用本地DHCP服务将IP地址分配给虚拟机这会在电脑上创建一个网络确认:在虚拟网络编辑器里,子网IP和子网掩码设置好;DHCP中网关不要选xxx.xxx.xxx.1确认(宿主局cmd——ipconfig):宿主机VMNet1的网关地址......
  • Android编译 - 证书介绍
    前言全局说明一、说明1.1环境:Android1.2简介在Android系统中,每个APK文件必须有一个有效的数字证书来证明其来源和完整性。当需要修改APK后再次发布时,原有的签名将不再有效,因此需要重新签名。二、证书工具2.1路径:android/build/tools/releasetools/sign_target_fi......
  • ISP各模块功能介绍和图像成像过程
    --------声明,本文为转载整理-------ISP各个模块功能介绍图像成像过程:景物通过Lens生成的光学图像投射到sensor表面上,经过光电转换为模拟电信号,消噪声后经过A/D转换后变为数字图像信号,再送到数字信号处理芯片(DSP)中加工处理。所以,从sensor端过来的图像......
  • 奇迹mu1.03单机版安装教程+无需虚拟机+GM工具
    今天为大家带来一款怀旧网单《奇迹mu1.03》的游戏架设,适用于单机娱乐,仅供怀旧,本人已经安装游戏成功,特此带来详细安装教程。适用环境单机视频演示https://githubs.xyz/show/330.mp4 亲测截图  架设步骤关闭默认杀毒软件和其它自己下的杀毒软件,一定要检查关闭!!!! ......
  • 标准成本核算整体介绍
    标准成本核算整体介绍管理会计云标准成本核算 所属标签:整体介绍基础入门1产品概述1.1产品介绍标准成本核算应用经过成本BOM、成本工艺路线、各类价目表的设置,通过标准成本卷算,成本更新操作事先制定物料的标准成本。可实时进行完工产品结算、期末进行成本计算,各类差......
  • 时序差分(Temporal Difference, TD)学习的详细介绍-ChatGPT4o作答
    时序差分(TemporalDifference,TD)学习的详细介绍时序差分(TemporalDifference,TD)是一种强化学习中重要的价值函数估计方法,结合了动态规划(DynamicProgramming)和蒙特卡洛方法(MonteCarlo)的优点。它通过从经验中直接学习预测值,而不需要完整的回报序列,能够高效地处理马尔科夫......
  • 重新创建缺少的 VMware 虚拟机磁盘描述符文件 (.vmdk)
    重新创建缺少的VMware虚拟机磁盘描述符文件(.vmdk)原文 为增量磁盘重新创建缺少的虚拟磁盘(VMDK)描述符文件文章ID:321422calendar_today更新于: 10-25-2024产品VMwarevSphereESXi的问题/介绍本文提供了重新创建丢失的虚拟磁盘描述符文件(.vmdk)的步骤......
  • 主机与虚拟机互ping不通的解决办法
    一、主机ping不通虚拟机,但虚拟机可以ping主机解决办法:二、虚拟机ping不通主机,但主机可以ping虚拟机解决办法:这里说的第一点我不知道,我是虚拟机可以ping通百度,之前虚拟机有过相关配置我这里主要是win11电脑网络连接这里开启防火墙下面简单的说明下Vmware的网络连接方式:当......
  • 【C++】any类的介绍与模拟实现
    目录一、any类简介1. std::any 的基本特性2. std::any 的成员函数2.1构造函数2.2赋值操作符2.3 has_value2.4 type3. std::any_cast3.1 std::any_cast 的基本用法3.2 std::any_cast 的安全检查4. std::any 的应用场景二、模拟实现any类any类的设计......
  • docker快速搭建部署mqtt
    1、拉取的是最新版本#拉取的是最新版本dockerpullemqx/emqx:latest#当然可以指定版本dockerpullemqx/emqx:latest:v5.02、创建临时容器dockerrun-d--namemqtt--privileged=true-p1883:1883-p8883:8883-p8083:8083-p8084:8084-p8081:8081-p18083......