RabbitMq介绍与安装

一:介绍

一:简介

Rabbitmq就是一个高级消息队列协议的开源消息协议的中间件,消息队列是应用程序到应用程序之间进行数据通信的通道,应用程序将消息发到队列中.另一方从队列中读取数据,完成数据的交互

二:产生背景

在Python中在一个进程之中多线程可以通过线程队列完成线程之间的通信,也使用进程队列完成不通进程之间的通信

在上述两者之中使用的队列模块都是Python独有的 假如我现在有个进程A使用Python开发,有个进程B使用Go开发的,由于不同的语言问题导致不能完成数据的通信

或者两个应用程序都不在同一台主机

为解决上述问题 我们可以使用Rabbitmq进行不同语言开发的不同程序进行数据交互

三:应用场景

系统的高可用性:

在电商某商品进行商品秒杀的时候,高流量,高并发的场景,由于服务器接收大量的数据请求,可能导致服务器宕机,某些业务场景可能极为复杂,但是实时性不是很高,我们可以将其加入到队列中,让程序后台去处理,减少服务器的压力

系统的高扩展性:

分布式系统,集成系统,子系统之间的对接,以及架构设计中常常需要考虑消息队列的应用。

二:安装Erlang

安装Erlang 时要注意安装的RabbityMQ 所依赖的Erlang版本,根据RabbitMQ的要求选择一个版本,这里我要安装的RabbitMQ的版本是 3.7.7 ,他依赖的Erlang范围是20.3

Erlang下载地址  https://www.erlang.org/downloads/20.3

设置ERLANG_HOME 环境变量

# 安装路径
D:\SoftWare\erlang\bin\erl.exe

注意:如果之前安装了Erlang的其他版本,需要卸载后在进行重新安装和设置。

在开始菜单查找Erlang,点击启动 打开如下界面,那么Erlang就安装成功了。接下来就安装RabbitMQ。

 

三:安装RabbitMq

可以在RabbitMQ的官方网站下载最新版本的RabbitMQ服务器安装程序这里我下载的是官方推荐的最新版本 然后点击默认安装。

# 下载地址

https://www.rabbitmq.com/install-windows.html

设置RabbitMQ环境变量

RabbitMQ 安装好后在开始菜单输入rabbitmq 会看到三个菜单:

 

 这里的三个菜单是提供控制Windows service的命令,为了能够在任意Windows命令窗口上操控RabbitMQ服务需要在系统里加一个环境变量并且配置在系统的PHTH环境变量中。

# 安装路径
D:\SoftWare\RabbitMq\rabbitmq_server-3.7.7\sbin

四:安装 rabbitmq_management

我们用命令查看一下RabbtitMQ的所有插件:

C:\WINDOWS\system32>rabbitmq-plugins list

看到RabbtitMQ 罗列出来了很多插件

 我们用下列命令安装rabbitmq_management插件,这款插件是可以可视化的方式查看RabbitMQ 服务器实例的状态,以及操控RabbitMQ服务器。

C:\WINDOWS\system32>rabbitmq-plugins enable rabbitmq_management

运行完命令后,看到下图表示安装成功了。

 

 现在我们在浏览器中输入:http://localhost:15672 可以看到一个登录界面:

 

 这里可以使用默认账号guest/guest登录后的界面如下:

 在浏览器中输入 http://localhost:15672/api/ 就可以看到 RabbitMQ Management HTTP API 文档,如下图:

 

 这样就可以查看RabbitMQ server实例状态的相关信息了。

 五:管理rabbitmq_management的用户

用命令rabbitmqctl list_users 查看一下现rabbitmq_management注册用户

 

发现现在只有一个用户guest,并且它的tag是administrator.

那么在命令行下创建一个用户,创建用户的命令合是:

rabbitmqctl add_user [username] [password]

现在创建一个username=rabbit1 password=rabbit1的用户, 命令如下:

rabbitmqctl add_user rabbit1 rabbit1

创建成功了:

 

 现在看下有多少用户,跑一下命令:

rabbitmqctl list_users

 发现用户列表里多了一个用户 rabbit1,但是tag是空的。使用命令给rabbit设置tag,设置tag的命令格式:

rabbitmqctl set_user_tag [tag1] [tag2] ...

一次可以给一个用户设置多个tag,也可以设置一个

现在rabbit1 有两个tag了一个是administrator ,一个是none.

有5个tag可供选择,分别是:administrator ,monitoring,policymaker,management和none 有兴趣的同学可以到这里了解各个tag的含义,其实这里的tag代表的是权限,administrator是最高权限,none表示不能访问,这里administrator和none的组合,权限应该是向高看齐,忽略none,用的是administrator的权限。我们用rabbit1/rabbit1 登录rabbitmq_management。

 

其实有了rabbitmq_management这个可视化插件,很多事情都可以在这个插件里干,包括创建用户,创建交换机(Exchange)和创建队列(Queque)。

 

posted @ 2020-03-25 23:10  SR丶  阅读(220)  评论(0编辑  收藏  举报