RabbitMQ学习-服务端学习

目录

    • 写在前面
    • 一、服务搭建
    • 二、基本架构
      • 2.1、user
      • 2.2、Virtual host
      • 2.3、policies
      • 2.4、Exchange
      • 2.5、Queue
    • 三、服务端命令学习
      • 3.1、用户管理
      • 3.2、虚拟主机管理
      • 3.3、服务状态、集群监控
    • 四、更多客户端API使用,可参考[链接](https://blog.csdn.net/qq_42105629/article/details/107157137)

写在前面

这里介绍下RabbitMQ的相关架构,还有服务端的相关命令

rabbitMQ是Erlang语言开发的消息中间件,会不同于kafka,RocketMQ

rabbitMQ中多了User(Tag)、Virtual Hosts(绑定用户,Tag)、policy(这里更高级的操作,多机房部署,异地多活机制)

本篇包括以下几个方面的学习

  • 服务搭建
  • 服务端命令学习
  • 基本架构
  • 页面管理、监控
  • 更多客户端API操作,可链接

一、服务搭建

docker pull rabbitmq:3.8-management
docker run -d --name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-v /my/rabbitmq/data:/var/lib/rabbitmq \
--hostname myrabbit \
-e RABBITMQ_DEFAULT_VHOST=/vhost  \
-e RABBITMQ_DEFAULT_USER=root \
-e RABBITMQ_DEFAULT_PASS=root \
rabbitmq:3.8-management

页面管理

http://localhost:15672/

RabbitMQ学习-服务端学习_第1张图片

二、基本架构

架构建立在 虚拟主机和用户上

2.1、user

RabbitMQ学习-服务端学习_第2张图片

2.2、Virtual host

RabbitMQ学习-服务端学习_第3张图片
知识点

  • 虚拟主机,一般设定是要绑定用户权限的,页面这里并没有体现!!
    可以命令行 绑定虚拟主机用户权限,参考下文

policies 是虚拟主机的参数配置,

2.3、policies

policies 是参数配置
RabbitMQ学习-服务端学习_第4张图片

这个设置也是RabbitMQ不同于其他MQ的东西,可以设置Queue和Exchange的相关参数,异地多活实现中会用到这个参数配置

2.4、Exchange

Exchange和Queue才是我们的操作和监控对象…,

RabbitMQ学习-服务端学习_第5张图片

这个Exchange是一个比较重要的概念,交换机,可以路由 topic 、key ?? 待研究

RabbitMQ学习-服务端学习_第6张图片

2.5、Queue

RabbitMQ学习-服务端学习_第7张图片

需要注意 Queue 的知识点

  • Type - - Classic(经典) / Quorum(法定)
  • Durability - - Durable(耐用,持久存储) / transient(临时存储)
  • autoDelete - - NO / YES

三、服务端命令学习

3.1、用户管理

添加用户
rabbitmqctl  add_user username password

列出所有用户
rabbitmqctl list_users

删除用户
rabbitmqctl  delete_user username

清除用户权限
rabbitmqctl  clear_permissions  -p  vhostpath  username

列出用户权限
rabbitmqctl  list_user_permissions root

修改密码
rabbitmqctl  change_password  username  newpassword

RabbitMQ学习-服务端学习_第8张图片

3.2、虚拟主机管理

列出所以虚拟主机:
rabbitmqctl list_vhosts
列出虚拟主机上的所有权限:
rabbitmqctl list_permissions -p h3
创建虚拟主机:
rabbitmqctl add_vhost h3
设置用户权限:
rabbitmqctl  set_permissions  -p  h3  username  ".*"  ".*"  ".*"
删除虚拟主机:
rabbitmqctl delete_vhost vhost h3

关于设置权限的时候,必须指定虚拟主机(智能单个指定)

3.3、服务状态、集群监控

移除所有数据,要在 rabbitmqctl stop_app 之后使用: rabbitmqctl reset
组成集群命令: rabbitmqctl join_cluster <clusternode> [--ram]
查看集群状态: rabbitmqctl cluster_status
修改集群节点的存储形式: rabbitmqctl change_cluster_node_type disc | ram
摘除节点:rabbitmqctl   forget_cluster_node  [--offline]
修改节点名称:rabbitmqctl  rename_cluster_node   oldnode1  newnode1 

四、更多客户端API使用,可参考链接

你可能感兴趣的:(RabbitMQ,docker,RabbitMQ,rabbitMQ命令行)