RabbitMQ Basic
RabbitMQ 简介
RabbitMQ 架构图:
Broker
:它提供一种传输服务,它的角色就是维护一条从生产者到消费者的路线,保证数据能按照指定的方式进行传输,
Exchange
:消息交换机,它指定消息按什么规则,路由到哪个队列。
Queue
:消息的载体,每个消息都会被投到一个或多个队列。
Binding
:绑定,它的作用就是把exchange和queue按照路由规则绑定起来.
Routing Key
:路由关键字,exchange根据这个关键字进行消息投递。
vhost
:虚拟主机,一个broker里可以有多个vhost,用作不同用户的权限分离。
Producer
:消息生产者,就是投递消息的程序.
Consumer
:消息消费者,就是接受消息的程序.
RabbitMQ 安装
单机部署
rabbitmq
依赖于 erlang
环境,所以需要先安装 erlang
:
官方提供适用的 erlang 程序包:https://github.com/rabbitmq/erlang-rpm/releases
- 从 github 官方仓库直接安装 rpm 包:
- 启动
rabbitmq
:
- 查看
rabbitmq
运行状态:
集群搭建
- 在三台主机上添加相对应的
hosts
内容:
- 把
master
上的 cookie
文件,复制到node01
、node02
节点上,集群环境下各个节点的cookie必须一致。rpm安装的cookie 文件默认路径为 /var/lib/rabbitmq/.erlang.cookie
- 通过
rabbitmqctl
来配置集群,集群内部通讯端口为25672
:
- 将
node01
和node02
加入到master
节点当中,并全都设置为硬盘节点:
- 在任一主机上查看集群状态:
启用 Web GUI 参考下面的[使用 web GUI 管理](#使用 web GUI 管理)
:question:如果在 web 管理页面中看到节点出现Node statistics not available
警告,则表示该节点没有启动相应 web 管理模块,使用以下三条命令进行启动:
其他 — 剔除单个节点
or:
使用 web GUI 管理
查看当前所有用户:
查看默认guest用户的权限(默认情况下仅有该账户):
由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 先删掉默认用户:
添加新用户:
设置用户标签:
赋予用户默认vhost的全部操作权限:
查看用户的权限:
开启web
管理接口:
最后打开浏览器访问:http://YOUR_IP:15672 即可。
rabbitmq 集群:
参考资料