所谓温故而知新,可以为师矣。
回顾了一下之前记录的 RabbitMQ 交换器
发现还是有点模糊,交换器
里面的几张图特别容易理解
废话不多说开始今天的内容
概念
我们都知道 RabbitMQ 是运行在 Erlang 上的,Erlang 也有虚拟机,虚拟机的每个实例我们称之为节点
与 JVM 不同,多个 Erlang 应用程序可以运行在同一个节点之上,节点之间可以进行本地通信,无论它们是否在同一个虚拟机上
如果当应用程序莫名崩溃了,Erlang 节点会自动尝试重启程序
一般的,可以再/var/log/rabbitmq/ 目录下找到名为 rabbit@[hostname].log 日志文件
启动与关闭节点
rabbitmq -server -detached 后台运行
如果不以守护程序后台运行 当按下 crtl+c 时
会出现很多选项,关闭整个节点,可以选择 abort
rabbitmqctl 是 rabbitmq 管理的一站式解决方案
rabbitmqctl stop 能优雅地关闭节点
以上都是关闭整个节点,有时,我们只想关闭 RabbitMQ
rabbitmqctl stop_app 可以做到
配置文件
一般的,配置文件位于/etc/rabbitmq/rabbitmq.config
打开配置文件后,默认的会有 2 条属性
mnesia 是 erlang 的数据库选项 1000 代表转储频度
rabbit 0.4 代表允许消耗的内存 即为 40%
更多配置
管理用户
rabbitmqctl add_user username password
rabbitmqctl delete_user username
rabbitmqctl list_users
rabbitmqctl change_password username newpassword
用户权限
rabbitmqctl set_permissions -p vhostname \ username "." "." "."
最后 3 个分别映射配置,写,读 配置成"."代表所有 “”代表不匹配 也就是在该项上没有权限
rabbitmqctl list_permissions -p vhostname 查看 host 下权限分布
rabbitmqctl clear_permissions -p vhostname username 移除用户在 vhost 下的所有权限
rabbitmqctl list_user_permissions 查看用户在 RabbitMQ 上的所有权限
尽量使用 vhost 来确程序安全与分隔 不要过分划分权限
rabbitmqctl list_queues -p vhostname 查看已经声明的队列
查看交换器,绑定同理
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于