首页 > 其他分享 >RabbitMQ-3.12:安装教程详解

RabbitMQ-3.12:安装教程详解

时间:2023-12-12 15:14:28浏览次数:42  
标签:文件夹 3.12 rabbitmq 详解 RabbitMQ Erlang root localhost

安装环境: centOS7操作系统

1.1 什么是MQ

MQ即消息队列(Message Queue),是一种用于进行异步通信的技术。它允许应用程序异步地向队列中发送消息,而不需要立即等待接收方处理完毕。MQ将消息缓存在队列中,等待消费者进行处理

1.2 什么是RabbitMQ

RabbitMQ是一个开源的消息队列中间件,它实现了 AMQP(Advanced Message Queuing Protocol)协议,并提供了一套强大的消息传递机制。它是由Erlang语言编写的,具有高性能、可靠性和可扩展特性

1.3 常用的消息中间件

RabbitMQ
RocketMQ
Apach Kafka
Apache ActiveMQ

1.4 MQ 应用场景异步通讯

在分布式系统中,不同的服务可能需要共享数据,通过使用消息队列,可以将数据更新操作以消息形式广播到相关服务中,确保数据的一致性和同步性发送方可以将消息发送到消息队列中,而无需等待接收方的即时响应,可以提高系统的响应速度和吞吐量,并解耦发送方和接收方之间的依赖关系

系统解耦

在分布式系统中,多个系统之间,不需要直接交互,通过消息进行业务流转

削峰填谷

在高并发场景下,消息队列可以用于平衡系统的负载。将请求放入消息队列,根据系统的处理能力逐渐消费消息,避免了突发请求对系统造成的压力,实现了削峰填谷的效果

数据同步

在分布式系统中,不同的服务可能需要共享数据,通过使用消息队列,可以将数据更新操作以消息形式广播到相关服务中,确保数据的一致性和同步性

日志处理

将系统的日志信息发送到消息队列,消费者可以独立地处理和存储日志,提供了可靠的日志收集和分析能力

任务调度

将任务放入消息队列中,消费者根据自身的处理能力从队列中获取任务并执行。这种方式可以实现任务的异步执行、提高系统的可伸缩性,同时保证任务的可靠性

二、RabbitMQ 下载安装与配置

2.1 下载Erlang

RabbitMQ是使用Erlang语言开发的,所以要先下载安装Erlang
下载时注意版本兼容性问题:Rabbit Erlang 版本要求
这边我用最新的版本为大家讲解~

Erlang官网
OTP Versions Tree,速度会快很多

# 在根目录创建software文件夹
[root@localhost ~]# mkdir software

# 进入文件夹,用xftp将Erlang的安装包放到该文件夹下,好管理
[root@localhost ~]# cd software

# 安装Erlang之前,需要下载一些依赖包
[root@localhost software]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

# 解压文件Erlang文件夹
[root@localhost software]# tar -zxvf otp-src_26.0.2.tar.gz

# 进入解压后的文件夹
[root@localhost software]# cd otp-OTP-26.0.2/

# 配置Erlang
[root@localhost otp-OTP-26.0.2]# ./configure

# 编译Erlang(过程可能有点长,如有问题,ctrl + z,重新在执行一遍吗,make)
make

# 安装
make install

验证是否安装成功, 输入:erl,如果进入了编程命令行则表示安装成功,退出按 ctrl + z

2.2 安装RabbitMQ

RabbitMQ下载网址

 

# 将压缩包放在software文件夹下,解压到/usr/local 文件夹下
[root@localhost software]# tar -xvf rabbitmq-server-generic-unix-3.12.2.tar.xz -C /usr/local/

# 进入 /usr/local/rabbitmq_server-3.12.2/ 文件夹
[root@localhost software]# cd /usr/local/rabbitmq_server-3.12.2/

# 进入 sbin/ 文件夹,这个文件夹下,就是RabbitMQ 所有的功能
[root@localhost rabbitmq_server-3.12.2]# cd sbin/

# 启动RabbitMQ 服务(-detached:后台启动(默认前台启动))
[root@localhost sbin]# ./rabbitmq-server  -detached

# 查看RabbitMQ 服务状态
[root@localhost sbin]# ./rabbitmqctl status

# 停止RabbitMQ 服务状态
[root@localhost sbin]#./rabbitmqctl shutdown

# 配置PATH 环境变量,这样可以在全局使用rabbit的命令,不用局限在rabbitmq的文件夹下
vi +$ /etc/profile # +$可以直接定位到文件的最后一行

RABBIT_HOME=/usr/local/rabbitmq_server-3.12.2 # 建议直接复制,注意路径
PATH=$PATH:$RABBIT_HOME/sbin
export RABBIT_HOME PATH

# 刷新/etc/profile
[root@localhost /]# source /etc/profile

# 测试是否配置成功,如果运行成功,就代表配置成功,反之,可能配置的文件路径有问题
cd /
rabbitmq-server -detached     # 启动服务
rabbitmqctl status             # 查看服务状态
rabbitmqctl shutdown        # 关闭服务

2.3 RabbitMQ 用户管理

用户管理包括增加用户,删除用户,查看用户列表,修改用户密码

rabbitmqctl list_users                                    # 常看当前用户列表
rabbitmqctl add_user admin root                            # 新增用户(设置账号、密码)
rabbitmqctl set_user_tags  admin administrator             # 设置用户(admin)角色为:administrator 
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"    # 设置用户的权限
rabbitmqctl list_permissions                            # 查看用户的参数

2.4 RabbitMQ 启动 Web控制台

Rabbitmq有web管理后台,这个管理后台是以插件的方式提供的,启动后台web管理功能

rabbitmq-plugins list                             # rabbitmq 插件列表
rabbitmq-plugins enable rabbitmq_management     # 启用web控制台 
rabbitmq-plugins disable rabbitmq_management     # 禁用web控制台

访问 Web控制台

ip:15672

标签:文件夹,3.12,rabbitmq,详解,RabbitMQ,Erlang,root,localhost
From: https://www.cnblogs.com/init-007/p/17896954.html

相关文章

  • 硬件开发笔记(十六):RK3568底板电路mipi摄像头接口原理图分析、mipi摄像头详解
    前言  本篇继续分析底板原理图mipi电路原理图、mipi摄像头输入硬件接口详解。<br>RK3568芯片摄像头接口  查看RK3568的芯片手册,摄像头接口并不支持直接sensor模拟信号输入,只能接收mipi信号,RK3568的摄像头接口引脚如下:    只支持mipi的数字信号摄像头。  本来计划......
  • 硬件开发笔记(十六):RK3568底板电路mipi摄像头接口原理图分析、mipi摄像头详解
    前言  本篇继续分析底板原理图mipi电路原理图、mipi摄像头输入硬件接口详解。 RK3568芯片摄像头接口  查看RK3568的芯片手册,摄像头接口并不支持直接sensor模拟信号输入,只能接收mipi信号,RK3568的摄像头接口引脚如下:    只支持mipi的数字信号摄像头。  本......
  • Cortex-M3内核详解
    目录CortexVendor-ARM介绍ARM主要提供指令集,需要授权ARM使用的RSIC结构,功耗比较低CortexM3整体架构核心是ProcessorCore-包含寄存器和累加单元,指令的取指,译码,执行单元NestedVectoredInterruptController-外部中断进来,可以直接上报,不需要查中断号及服务程......
  • #7 2023.12.4
    419.arc137cDistinctNumbers注意到如果\(a_{n-1}+1\neqa_{n}\),显然是先手必胜的。然后一个人显然不会主动走到这个状态,于是\([0,a_n]\)之内的每个数都要被遍历一遍。于是答案就和\(n-a_n\)的奇偶性有关了。420.arc137dPrefixXORs大概只跟\(n-i\)和\(j\)......
  • 2023.12 做题纪要 #1
    终于从学考中解脱出来了,做题纪要回归!11月下半个月发生的事情:考了个NOIP,游记在这,然后全力备战学考了,所以半个月没做题。本文大部分题的题单To-doList#2。题单的第一个题在上一篇做题纪要的最后。目录2023.12.10P9353[JOI2023Final]ModernMachine2023.12.11GYM102896F......
  • 联表查询joinON详解
    --联表查询join--查询参加了考试的同学(学号,姓名,成绩)ALTERTABLE`student2_copy`ADDgradeINT(100)UPDATE`student2_copy`SET`grade`=66WHEREid=1;UPDATE`student2_copy`SET`grade`=89WHEREid<8ANDid>2--添加成绩SELECT*FROM`student2`;SELECT*FROM`student......
  • 模糊查询操作符详解
    --模糊查询--查询姓狂的同学--like结合 %(代表零到任意个字符) _(代表一个字符)SELECT`id`,`name`FROM`student2`WHERE`name`LIKE'狂%'INSERT`student2`(`name`)VALUES('狂神');--添加--查询姓狂的同学,名字后面只有一个字的SELECT`id`,`name`FROM`student2`WHERE`na......
  • 列的数据类型详解
    数据库的列的类型1.数值tinyint 十分小的数据 1字字节smallint 较小的数据 2个字节mediuminl 中等大小的数据 3个字节int 标准的整数 4个字节 常用的bigint 较大的数据 8个字节float 浮点数 4个字节clouble 浮点数 8个字节 存在精度问题clecimal 字符串形式的浮点数 金融......
  • Delete和Truncate详解
    --delete命令--语法:deletefrom表名[where条件]--删除数据(避免这样写,会全部删除)DELETEFROM`student2`--删除指定数据DELETEFROM`student2`WHEREid=1;--truncate命令--作用:完全清空一个数据库表,表的结构和索引,约束不会变TRUNCATE`student2`/*delete与truncate的区别相......
  • insert语句详解
    --insert插入语句(添加)--语法insertinto表名([字段名1,字段名2,字段名3])values('值1(字段名123)'),('值2(字段名123)'),('值3(字段名123)'),,,INSERTINTO`student2`(`name`)VALUES('焯');--由于主键自增我们可以省略(如果不写表的字段,他就会一一匹配)INSERTINTO`student2`(`name`)......