软件开发定制RabbitMQ入门 -- 阿里云服务器安装RabbitMQ

📢📢📢📣📣📣

哈喽!大家好,我是【Bug 终结者,【CSDNJava软件开发定制领域优质创作者】🏆,软件开发定制阿里云专家博主🏆,51CTO人气博主🏆,InfoQ写作专家🏆

软件开发定制一位上进心十足,软件开发定制拥有极强学习力的【Java领域博主】😜😜😜

🏅【Bug 终结者】软件开发定制博客的领域是【软件开发定制面向后端技术】的学习,软件开发定制未来会持续更新更多的【后端技术】以及【学习心得】。 软件开发定制偶尔会分享些前端基础知识,软件开发定制会更新实战项目,软件开发定制面向企业级开发应用
🏅 如果有对【后端技术】、【前端领域】感兴趣的【小可爱】,欢迎关注【Bug 终结者】💞💞💞


❤️❤️❤️ 软件开发定制感谢各位大可爱小可爱! ❤️❤️❤️

文章目录

一、什么是MQ?

消息队列(Message Queue,简称MQ),软件开发定制从字面意思上看,软件开发定制本质是个队列,FIFO先入先出,软件开发定制只不过队列中存放的内容是message而已。

软件开发定制其主要用途:不同进程Process/线程Thread之间通信。

队列是一种先进先出的结构:FIFO

把要传输的数据放在队列中

把数据放到消息队列叫生产者

从消息队列取出消息叫做消费者

二、什么是?

RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

RabbitMQ的特性

  • 可伸缩性:集群服务
  • 消息持久化:从内存持久化消息到硬盘,再从硬盘加载到内存

三、使用RabbitMQ的好处

☁️解耦

系统A在代码中直接调用系统B和系统C的代码,如果将来D系统接入,系统A还需要修改代码,过于麻烦!

系统A可以生成一个id,然后系统B需要这个id,系统A去调用了系统B

过了段时间,系统C说也要系统A的id,那么这时接触系统B的引用,去讲id传给系统C

这时又来了系统D,系统D也要系统A的id,系统A又解除了系统C,去调用了系统D,反反复复,很麻烦

系统A的负责人觉得改来改去太麻烦了,没意思,跑路了。

过段时间,公司来了位大佬,大佬说将系统A的id,存入消息队列,谁需要谁去拿,这样系统A就不用来回改动了,完美解决了参数调用问题!

系统A不关心谁去调用id,只负责生产数据并存入消息队列,其它系统即使挂了或请求超时,也跟系统A没有任何关系

这样就实现了系统A、B、C、D之间的解耦!

⛄异步

再来看看这种情况,系统A还是直接调用系统B、C、D

系统A:主要业务

系统B:短信业务

系统C:邮箱业务

系统D:处理后续业务

系统A下单成功后会去调用系统B,但是如果一个一个的调用,会大大的降低效率,假设每个业务执行时间100ms,那么4个业务执行完毕就是400ms,这种就被称为阻塞执行

那么我们的消息队列采用了异步机制,当我们下单完成后,会去异步的调用其它业务,会极大的降低系统的执行时间,提升效率!

⚡削峰/限流

例如:双十一大促销,这时的流量是很大很大的,并发很高,比如每秒5000个请求,假设现在又3台机器处理,并且每台机器每秒只能处理1500次请求,那么多出来的请求500请求,会将系统搞垮的,这时我们可以将多出来的请求放入消息队列中

这样即使每秒有10000个请求,也不会将系统搞垮,会在消息队列中等待,由系统去分配请求处理

四、Linux环境下手动安装RabbitMQ

🚡环境准备

阿里云Centos7.6服务器

lsb_release -a
  • 1

在2022年5月,RabbitMQ官方发布推文宣称最新的版本已经不支持Centos7.x系列,但是我们可以通过下载之前支持的版本来部署!

下载RabbitMQ RPM包

下载成功如下

下载ErLang RPM包

这里需要注意,下载的版本要和RabbitMQ对应,必须支持下载的ErLang版本

我们找到下载的是 3.8.13 ,支持的最低是 22.3 最高是 23.x

点击Download下载或单机wget复制下在Linux下 下载

使用FileZilla上传至阿里云服务器

阿里云服务器在 /usr/local 下新建 rabbitmq 文件夹

上传完成

安装ErLang

# 解压erlang文件rpm -Uvh erlang-23.2.7-2.el7.x86_64.rpm#安装erlangyum install -y erlang
  • 1
  • 2
  • 3
  • 4

查看erlang版本

erl -v
  • 1

♻️安装并启动RabbitMQ

在安装RabbitMQ之前要安装一个插件

yum install -y socat
  • 1

解压并安装RabbitMQ

# 解压rpm -Uvh rabbitmq-server-3.8.13-1.el8.noarch.rpm# 安装yum install -y rabbitmq-server
  • 1
  • 2
  • 3
  • 4

启动RabbitMQ服务

# 启动服务systemctl start rabbitmq-server# 查看当前的运行状态systemctl status rabbitmq-server# 重启服务systemctl restart rabbitmq-server# 停止服务systemctl stop rabbitmq-server
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

可以看到,启动成功!

五、手动安装RabbitMQWeb管理界面和授权

⌛安装并启动RabbitMQ管理插件

# 安装RabbitMQWeb管理插件rabbitmq-plugins enable rabbitmq_management# 安装完成后重启rabbitmq服务systemctl restart rabbitmq-server
  • 1
  • 2
  • 3
  • 4

启动成功,默认Web页面占用端口为 15672,我们去阿里云服务器控制台开放此端口

测试访问

浏览器输入 http://您的ip地址:15672

出现如下界面

默认登录账号密码 guest guest 登录测试

这个意思是我们只能通过本地来登录guest 账户

下面给出解决方案

😃添加账户

# 添加一个用户rabbitmqctl add_user admin admin# 将用户设置为admin权限rabbitmqctl set_user_tags admin administrator
  • 1
  • 2
  • 3
  • 4

✳️再次测试访问

访问成功,手动安装成功!

六、Linux环境下Docker安装RabbitMQ

⌛安装Docker

先查看本机是否存在Docker,删除旧版本Docker

查看docker 版本

docker version
  • 1

没有docker,我们执行以下命令,删除残余文件

yum remove docker \               docker-client \               docker-client-latest \               docker-common \               docker-latest \               docker-latest-logrotate \               docker-logrotate \               docker-engine
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

进入Linux根目录,安装Docker

# 安装yum-utils包(提供yum-config-manager 实用程序)并设置稳定的存储库。yum install -y yum-utils# 安装阿里云配置yum-config-manager \     --add-repo \     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

安装Docker 最新引擎

yum install docker-ce docker-ce-cli containerd.io
  • 1

输入y确认即可!

🗳️配置阿里云加速镜像

打开阿里云控制台,弹性计算 --> 容器与镜像服务

打开之后选择 镜像工具 --> 镜像加速器,复制内容即可


进入Linux服务器根据步骤配置镜像加速器

# 创建docker文件夹sudo mkdir -p /etc/docker# 打开文件并配置内容sudo tee /etc/docker/daemon.json <<-'EOF'{  "registry-mirrors": ["https://pfjide5p.mirror.aliyuncs.com"]}EOF# 重启服务sudo systemctl daemon-reload# 启动dockersudo systemctl restart docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

新建文件夹

配置内容,并重启服务

根据步骤一步步创建即可!

♨️安装并启动RabbitMQ

# 获取镜像,这个是带着web页面的docker pull rabbitmq:management# 运行 rabbitmq 并映射端口 设置默认账户密码admindocker run -di --name myrabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 15672:15672 -p 5672:5672 -p 25672:25672 -p 61613:61613 -p 1883:1883 rabbitmq:management
  • 1
  • 2
  • 3
  • 4

❇️测试RabbitMQ

浏览器输入 http://您的ip地址:15672 并输入admin admin

出现如下界面

至此,在Docker内安装RabbitMQ完成!

⛵小结

以上就是【Bug 终结者】对RabbitMQ入门 – 阿里云服务器安装RabbitMQ简单的概述,RabbitMQ是很常用的中间件,使用它,可提高程序的性能,底层使用通道,多路复用等,完美的利用CPU完成任务,RabbitMQ可承受高并发,拥有高性能,可谓是开发利器!

如果这篇【文章】有帮助到你,希望可以给【Bug 终结者】点个赞👍,创作不易,如果有对【后端技术】、【前端领域】感兴趣的小可爱,也欢迎关注❤️❤️❤️ 【Bug 终结者】❤️❤️❤️,我将会给你带来巨大的【收获与惊喜】💝💝💝!

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发