首页 > 其他分享 >RabbitMQ-最常用的消息队列MQ安装详解!!

RabbitMQ-最常用的消息队列MQ安装详解!!

时间:2024-07-18 16:56:13浏览次数:17  
标签:root app rabbitmq server 详解 MQ RabbitMQ 安装

RabbitMQ-最常用的消息队列MQ安装详解!!

RabbitMQ-简介

RabbitMQ 是采用 Erlang 语言实现的高级消息队列协议(AMQP)的消息中间件。它最初起源于金融系统,用于在分布式系统中存储和转发消息。
在 RabbitMQ 中,消息传递的过程可以想象成厨师做好饭菜放到服务台,服务台会暂存并最终将饭菜通过服务员送到客人的餐桌。RabbitMQ 就好比由服务台和服务员组成的一个系统。

文档内安装包下载不到或找不到者可找Me拿!!!!!

一、使用RabbitMQ消息队列的优点

  • 异步:提升系统的响应速度,吞吐量。
  • 解耦:服务之间进行解耦,才可以减少服务之间的影响,提高系统整体的稳定性以及可扩展性。另外解耦后可以实现数据分发。生产者发送一个消息后,可以由一个或者多个消费者进行消费,并且消费者的增加或者减少对生产者没有影响。
  • 削峰:以稳定的系统资源应对突发的流量冲击。

二、使用RabbitMQ消息队列的缺点

  • 系统可用性降低:系统引入的外部依赖增多,稳定性就会变差。一旦MQ宕机,就会对业务产生影响。(可考虑通过高可用模式解决)
  • 系统的复杂度提高:引入MQ后系统的复杂度会大大提高。以前服务之间可以进行同步的服务调用,引入MQ后,会变成异步调用,数据链路会变得更复杂。并且还会带来一系列的问题。(如何保证消息不会丢失?不会被重复调用?怎么保证消息的顺序性?)
  • 消息一致性问题:A系统处理完业务,通过MQ发送消息给B、C系统进行后续的业务处理。如果B系统成功,C系统失败,这就需要考虑消息的一致性。

三、Linux操作系统环境规划

ip地址hostname操作系统版本服务器类别
10.0.0.*appcentos 7(或者麒麟V10)虚拟机VMware

四、安装 erlang

  1. RabbitMQ是用Erlang语言编写的,所以在安装RabbitMQ之前需要安装Erlang。
  2. 在构建RabbitMQ环境的过程中,RabbitMQ和Erlang的版本要对应关系,官网上可以查看RabbitMQ和Erlang的版本问题:Erlang Version Requirements!可点击跳转!
  3. Erlang官网地址:Erlang official website!可点击跳转! 下载安装包。
[root@app RabbitMQ]# ll
总用量 39584
-rw-r--r-- 1 root root 21846184  7月 18 10:50 erlang-26.2.5.2-1.el8.x86_64.rpm
  1. 执行rpm命令安装 Erlang
[root@app RabbitMQ]# rpm -Uvh erlang-26.2.5.2-1.el8.x86_64.rpm 
警告:erlang-26.2.5.2-1.el8.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 6026dfca: NOKEY
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:erlang-26.2.5.2-1.el8            ################################# [100%]
  1. 安装完成后检查版本确认
[root@app RabbitMQ]# erl -version
Erlang (SMP,ASYNC_THREADS) (BEAM) emulator version 14.2.5.2

五、安装 RabbitMQ详解

5.1 安装socat

RabbitMQ需要的依赖:socat和logrotate,logrotate操作系统中已经存在了,只需要安装socat就可以。

[root@app RabbitMQ]# yum install -y socat
依赖关系解决。
===========================================================================================================================================================================
 Package                              Architecture                          Version                                       Repository                                  Size
===========================================================================================================================================================================
安装:
 socat                                x86_64                                1.7.3.2-8.ky10                                ks10-adv-os                                155 k

事务概要
===========================================================================================================================================================================
安装  1 软件包

总下载:155 k
安装大小:560 k
下载软件包:
socat-1.7.3.2-8.ky10.x86_64.rpm                                                                                                            435 kB/s | 155 kB     00:00    
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                                       427 kB/s | 155 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                                            1/1 
  安装    : socat-1.7.3.2-8.ky10.x86_64                                                                                                                                1/1 
  运行脚本: socat-1.7.3.2-8.ky10.x86_64                                                                                                                                1/1 
  验证    : socat-1.7.3.2-8.ky10.x86_64                                                                                                                                1/1 
已安装:
  socat-1.7.3.2-8.ky10.x86_64                                                                                                                                              
完毕!
5.2 RabbitMQ 安装

RabbitMQ 官网地址:RabbitMQ official website! 可点击跳转!
RabbitMQ 安装包下载地址:Installtion package Download link!可点击跳转!

  • 下载好安装包后执行rpm命令安装
[root@app RabbitMQ]# rpm -Uvh rabbitmq-server-3.13.4-1.el8.noarch.rpm 
警告:rabbitmq-server-3.13.4-1.el8.noarch.rpm: 头V4 RSA/SHA512 Signature, 密钥 ID 6026dfca: NOKEY
Verifying...                          ################################# [100%]
准备中...                          ################################# [100%]
正在升级/安装...
   1:rabbitmq-server-3.13.4-1.el8     ################################# [100%]
/usr/lib/tmpfiles.d/pesign.conf:1: Line references path below legacy directory /var/run/, updating /var/run/pesign → /run/pesign; please update the tmpfiles.d/ drop-in file accordingly.
/usr/lib/tmpfiles.d/rabbitmq-server.conf:1: Line references path below legacy directory /var/run/, updating /var/run/rabbitmq → /run/rabbitmq; please update the tmpfiles.d/ drop-in file accordingly.
5.3 启动 RabbitMQ
[root@app RabbitMQ]# systemctl start rabbitmq-server
5.4 启动完成后检查
[root@app RabbitMQ]# systemctl status rabbitmq-server
● rabbitmq-server.service - RabbitMQ broker
   Loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2024-07-18 10:56:02 CST; 11s ago
 Main PID: 35463 (beam.smp)
    Tasks: 28
   Memory: 85.8M
   CGroup: /system.slice/rabbitmq-server.service
           ├─35463 /usr/lib64/erlang/erts-14.2.5.2/bin/beam.smp -W w -MBas ageffcbf -MHas ageffcbf -MBlmbcs 512 -MHlmbcs 512 -MMmcs 30 -pc unicode -P 1048576 -t 5000000 ->
           ├─35476 erl_child_setup 32768
           ├─35495 sh -s disksup
5.5 常用命令
# 启动服务
> systemctl start rabbitmq-server
# 查看服务状态
> systemctl status rabbitmq-server
# 停止服务
> systemctl stop rabbitmq-server
# 开机启动服务
> systemctl enable rabbitmq-server

六、图形化管理界面及授权操作

6.1 安装图形化管理界面
[root@app RabbitMQ]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@app:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@app...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.
6.2 访问地址(ip+端口15672)

6.3 创建授权账户密码
  • 新增用户命令
[root@app RabbitMQ]# rabbitmqctl add_user admin admin
  • 设置用户角色
用户级别:
1、administrator 可以登录控制台、查看所有信息、可以对rabbitmq进行管理
2、monitoring 监控者 登录控制台,查看所有信息
3、policymaker 策略制定者 登录控制台,指定策略
4、managment 普通管理员 登录控制台
-------------------------------------
[root@app RabbitMQ]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
  • 为用户设置权限命令
[root@app RabbitMQ]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
6.4 登录界面访问

在这里插入图片描述

七、RabbitMQ 界面简介

7.1 Overview

Overview:主要展示的是MQ的概要信息 , 如消息的数量,Connection,Channel,Exchange,Queue,Consumer的数量.
在这里插入图片描述

7.2 Connections

Connections:查看生产者或消费者与RabbitMQ建立连接后的信息.
在这里插入图片描述

7.3 Channels

Channels:通道,建立连接后,会形成通道,消息的投递获取依赖通道.
在这里插入图片描述

7.4 Exchanges

Exchanges:交换机,用来实现消息的路由,主要展示的是当前虚拟主机下的交换器,也可以在此添加一个新的交换器, 并且配置对应的交换器的规则属性.
在这里插入图片描述

7.5 Queues and Streams

Queues and Streams:队列,即消息队列,消息存放在队列中,等待消费,消费后被移除队列.
在这里插入图片描述

7.5 Admin

Admin:系统管理,展示的是用户管理的信息, 包含用户列表的展示,添加用户,添加虚拟主机等信息.
在这里插入图片描述

标签:root,app,rabbitmq,server,详解,MQ,RabbitMQ,安装
From: https://blog.csdn.net/dashagua91/article/details/140522750

相关文章

  • 小白C语言基础详解: 运算符
    运算符C语言的运算符非常多,一共有50多种,可以分成若干类。算术运算符算术运算符专门用于算术运算,主要有下面几种。+:正值运算符(一元运算符)-:负值运算符(一元运算符)+:加法运算符(二元运算符)-:减法运算符(二元运算符)*:乘法运算符/:除法运算符%:余值运算符(1)+,-+和-既可以作为一元......
  • springboot整合mqtt
    安装emqxhttps://blog.csdn.net/weixin_41542513/article/details/134328627springboot整合mqtt1、引入依赖<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-integration&l......
  • Socket、WebSocket 和 MQTT 的区别
    Socket协议定义:操作系统提供的网络通信接口,抽象了TCP/IP协议,支持TCP和UDP。特点:通用性:不限于Web应用,适用于各种网络通信。协议级别:直接使用TCP/UDP,需要手动管理连接和数据传输。实现复杂性:需要编写代码处理连接、数据传输和错误。使用场景:实时通信(聊天应用)、文件传输......
  • 【C语言】逻辑操作符详解 - 《真假美猴王 ! 》
    目录C语言逻辑操作符详解1.逻辑与(`&&`)示例输出2.逻辑或(`||`)示例输出3.逻辑非(`!`)示例输出4.逻辑操作符应用实例示例1:条件判断输出示例2:多条件判断输出5.逻辑操作符的短路特性示例输出6.逻辑操作符的优先级示例输出7.参考文献8.结束语C语言逻......
  • Symfony框架详解:构建高效、可维护的Web应用
    引言Symfony是一个由SensioLabs开发并维护的PHP框架,遵循MVC(Model-View-Controller)设计模式。它不仅提供了一系列强大的工具和功能,还能通过其组件(如HttpFoundation、Routing、DependencyInjection等)单独使用。Symfony的设计目标是让开发者能够高效地构建高质量的Web应用程序,同......
  • RabbitMQ——死信队列介绍和应用
    死信和死信队列的概念什么是死信?简单来说就是无法被消费和处理的消息。一般生产者将消息投递到broker或者queue,消费者直接从中取出消息进行消费。但有时因为某些原因导致消息不能被消费,导致消息积压在队列中,这样的消息如果没有后续的处理就会变成死信,那么专门存放死信的队列就是......
  • 联合体union详解
    前言    本章我们来了解C语言中的联合体,它的基本基本使用,内存计算,大小端判断应用与结构体struct的区别等知识点。什么是联合体union(联合体)是C语言(及其衍生语言如C++)中一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型。union的主要特点是其所有成员共享......
  • nginx出现499错误码的原因以及proxy_ignore_client_abort配置 及 nginx日志配置变量大
    一、nginx出现499错误码的原因以及proxy_ignore_client_abort配置1. nginx出现499错误码的原因    最近发现服务器上出现很多499的错误,出现499错误的原因是客户端关闭了连接,在我这篇文章:服务端在执行时中途关闭浏览器退出之后php还会继续执行吗?个人实践实验得到结果( h......
  • 运维锅总详解Kubernetes之Service
    本文尝试从Service暴露服务方式、Service控制器实现原理、使用规范等方面对Kubernetes中的Service进行详细介绍。一、Kubernetes中的pod有哪些暴露服务的方式各种Kubernetes中暴露服务的方式都有其独特的优缺点,根据具体的使用场景和需求,选择合适的方式非常重要。下面是......
  • TCP协议详解
    传输控制协议(TCP,TransmissionControlProtocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。1.TCP头部格式源/目的端口:表示数据从哪个进程发送,然后发送到哪个进程去32位序列号:发送的数据按照一个字节一个编号存放进去32位确认号:用于给与对方响应,值为收到的TC......