RabbitMQ(1)认识与安装

发布 : 2019-06-03 分类 : RabbitMQ 浏览 :

AMQP

AMQP,即 Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。

RabbitMQ 简介

RabbitMQ是一个在 AMQP 基础上实现的,可复用的企业消息系统。它可以用于大型软件系统各个模块之间的高效通信,支持高并发,支持可扩展。

相关术语

  • Broker - 简单来说就是消息队列服务器的实体。
  • Vhost - 虚拟主机,一个 Broker 里可以开设多个 Vhost,用作不同用户的权限分离。
  • Exchange - 消息交换机,它指定消息按什么规则,路由到哪个队列。
  • Queue - 消息队列,用来存储消息,每个消息都会被投入到一个或多个队列。
  • Binding - 绑定,它的作用就是把 Exchange 和 Queue 按照路由规则绑定起来。
  • Routing Key - 路由关键字,Exchange 根据这个关键字进行消息投递。
  • Producer - 消息生产者,产生消息的程序。
  • Consumer - 消息消费者,接收消息的程序。
  • Channel - 消息通道,在客户端的每个连接里可建立多个Channel,每个channel代表一个会话。

安装

Windows 下安装

1. 安装 Erlang

因为 RabbitMQ 必须依赖 Erlang 环境,所以需要先从 DOWNLOAD OTP 页面下载并安装 Erlang。

2. 安装 RabbitMQ

打开 Installing on Windows 官方下载页面,下载对应的 RabbitMQ 安装程序。

3. 安装 RabbitMQ 插件

在开始菜单中,找到 RabbitMQ Command Prompt (sbin dir) 命令窗口,输入如下指令:

1
rabbitmq-plugins enable rabbitmq_management

4. 访问 RabbitMQ Management

安装成功后,浏览器中打开 http://localhost:15672,使用默认账号 guest 和密码 guest 登录,即可访问控制台。

Docker 下安装

访问 rabbitmq 镜像地址

执行以下命令:

1
$ docker run -d --hostname my-rabbit --name rabbit-server -p 15672:15672 -p 5672:5672 rabbitmq:3-management

启动后,就可以在浏览器中访问 http://localhost:15672http://host-ip:15672

RabbitMQ 常用命令

  • rabbitmq-plugins enable rabbitmq_management 启动监控管理器
  • rabbitmq-plugins disable rabbitmq_management 关闭监控管理器
  • rabbitmq-service start 启动
  • rabbitmq-service stop 关闭
  • rabbitmqctl list_queues 查看所有的队列
  • rabbitmqctl reset 清除所有的队列
  • rabbitmqctl stop_app 关闭应用
  • rabbitmqctl start_app 启动应用

用户和权限设置

  • rabbitmqctl add_user username password 添加用户
  • rabbitmqctl set_user_tags username administrator 分配角色
  • rabbitmqctl add_vhost vhost_name 新增虚拟主机
  • rabbitmqctl set_permissions -p vhost_name username “.” “.” “.” 将新虚拟主机授权给新用户(后面三个””代表用户拥有配置、写、读全部权限)

角色说明

  • administrator 超级管理员,可登陆管理控制台,可查看所有的信息,并且可以对用户,策略(policy)进行操作。
  • monitoring 监控者,可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
  • policymaker 策略制定者,可登陆管理控制台, 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。
  • management 普通管理者,仅可登陆管理控制台,无法看到节点信息,也无法对策略进行管理。
  • 其他,无法登陆管理控制台,通常就是普通的生产者和消费者。
本文作者 : 王海
原文链接 : https://blog.whai.me/2019/06/03/rabbitmq-1-install/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
留下足迹