RabbitMQ學習-服務端學習

寫在前面

這裏介紹下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/

在這裏插入圖片描述

二、基本架構

架構建立在 虛擬主機和用戶上

2.1、user

在這裏插入圖片描述

2.2、Virtual host

在這裏插入圖片描述
知識點

  • 虛擬主機,一般設定是要綁定用戶權限的,頁面這裏並沒有體現!!
    可以命令行 綁定虛擬主機用戶權限,參考下文

policies 是虛擬主機的參數配置,

2.3、policies

policies 是參數配置
在這裏插入圖片描述

這個設置也是RabbitMQ不同於其他MQ的東西,可以設置Queue和Exchange的相關參數,異地多活實現中會用到這個參數配置

2.4、Exchange

Exchange和Queue纔是我們的操作和監控對象…,

在這裏插入圖片描述

這個Exchange是一個比較重要的概念,交換機,可以路由 topic 、key ?? 待研究

在這裏插入圖片描述

2.5、Queue

在這裏插入圖片描述

需要注意 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

在這裏插入圖片描述

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使用,可參考鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章