zoukankan      html  css  js  c++  java
  • 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:SoftWareerlanginerl.exe

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

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

     

    三:安装RabbitMq

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

    # 下载地址
    
    https://www.rabbitmq.com/install-windows.html

    设置RabbitMQ环境变量

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

     

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

    # 安装路径
    D:SoftWareRabbitMq
    abbitmq_server-3.7.7sbin

    四:安装 rabbitmq_management

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

    C:WINDOWSsystem32>rabbitmq-plugins list

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

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

    C:WINDOWSsystem32>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)。

  • 相关阅读:
    asp调用存储过程
    ASP生成静态文件
    DataReader
    Html中的table
    比较完整的CSS定义表格样式
    HTML中ul,ol,li,dl,dt,dd标签用法
    Sql Server 分区演练
    AWK
    samba配置
    【openSUSE】软件源和软件搜索 看了之后 受益匪浅
  • 原文地址:https://www.cnblogs.com/SR-Program/p/12571365.html
Copyright © 2011-2022 走看看