RabbitMQ入门

一.安装RabbitMQ

我们可以参考官网的安装向导
首先在rabbitmq的官网下载对应系统的rpm包,我这里使用的是centos7所以下载了最新版本的
rabbitmq-server-3.6.10-1.el7.noarch.rpm
然后运行

yum install rabbitmq-server-3.6.10-1.el7.noarch.rpm

结果提示需要安装ErLang

1.1安装ErLang,因为RabbitMQ是基于ErLang编写的所以要先安装erlang
首先我们去到github提供的erlang页面查看对应版本erlang的yum源
我这里选择的是ErLang19.x
To use Erlang 19.x on CentOS 7:
在 /etc/yum.repos.d/下添加/rabbitmq-erlang.repo

# In /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]  
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/19/el/7
gpgcheck=1
gpgkey=https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
repo_gpgcheck=0
enabled=1

然后安装ErLang

yum install erlang

二.安装RabbitMQ Server

安装完erlang之后再安装tabbitmq

yum inatall rabbitmq-server-3.6.10-1.el7.noarch.rpm

三.启动RabbitMQ

配置为守护进程随系统自动启动,root权限下执行:

chkconfig rabbitmq-server on

启动rabbitMQ服务

rabbitmq-server start

四.安装web管理界面插件

rabbitmq-plugins enable rabbitmq_management

五.登录web管理界面

rabbit_manage

rabbitmq安装后有个默认的管理员账户guest,但是为了安全考虑只能通过localhost:15672访问web管理界面时才能登录

1.用户管理命令:
我们可以新建一个用户:
rabbitmqctl  add_user  Username  Password  
设置为管理员角色:  
rabbitmqctl set_user_tags administrator  
删除一个用户:  
rabbitmqctl  delete_user  Username  
修改用户的密码:  
rabbitmqctl  change_password  Username  Newpassword  
查看当前用户列表:  
rabbitmqctl  list_users

2.用户角色
按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息。
与administrator的对比,administrator能看到这些内容
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。
了解了这些后,就可以根据需要给不同的用户设置不同的角色,以便按需管理。

六.web管理界面介绍

rabbit_guide

新建用户admin后发现和guest用户有点差异,can access virtual hosts下没有值,
这里的vhost可以理解为mysql中的一个数据库名称,新建一个vhost关联到admin用户下
rabbit_admin

rabbit_port

七.介绍RabbitMQ的五种队列

queues
7.1简单队列
simple_queue

P:消息的生产者
C:消息的消费者
红色:队列
生产者将消息发送到队列,消费者从队列中获取消息。

7.2work模式
work_queue

一个生产者、2个消费者。
一个消息只能被一个消费者获取。

7.3订阅模式
ps_queue

1个生产者,多个消费者
每一个消费者都有自己的一个队列
生产者没有将消息直接发送到队列,而是发送到了交换机
每个队列都要绑定到交换机
生产者发送的消息,经过交换机,到达队列,实现,一个消息被多个消费者获取的目的

fanout_exchange

7.4路由模式
rout_queue
direct_exchange

7.4通配符模式

此模式中#匹配一个或多个单词,*匹配一个单词

topic_queue
topic_exchange

ShareWiller wechat
欢迎您扫一扫上面的微信公众号,订阅我的公众号!