Rabbitmq 配置開發 測試不同環境

1.vhost 介紹

每一個RabbitMQ服務器都能創建虛擬消息服務器,我們稱之爲虛擬主機。每一個vhost本質上是一個mini版的RabbitMQ服務器,擁有自己的交換機、隊列、綁定等,擁有自己的權限機制。

vhost之於Rabbit就像虛擬機之於物理機一樣。他們通過在各個實例間提供邏輯上分離,允許爲不同的應用程序安全保密的運行數據,這很有,它既能將同一個Rabbit的衆多客戶區分開來,又可以避免隊列和交換器的命名衝突。

RabbitMQ提供了開箱即用的默認的虛擬主機“/”,如果不需要多個vhost可以直接使用這個默認的vhost,通過使用缺省的guest用戶名和guest密碼來訪問默認的vhost。

vhost之間是相互獨立的,這避免了各種命名的衝突,就像App中的沙盒的概念一樣,每個沙盒是相互獨立的,且只能訪問自己的沙盒,以保證非法訪問別的沙盒帶來的安全隱患。

2.vhost 創建 刪除

RabbitMq 安裝路徑 ./sbin 目錄中的rabbitmqctl工具來創建,如果是docker直接進入容器即可
# 創建vhost,用來區分不同環境的隊列
rabbitmqctl add_vhost [vhost_name] 
# 刪除vhost
rabbitmqctl delete_vhost [vhost_name] 
# 查看
rabbitmqctl list_vhosts
# 配置最大連接限制,0:表示不可用,-1:無限制
rabbitmqctl set_vhost_limits -p vhost_name '{"max-connections": 256}'
# 配置隊列最大數,-1:無限制
rabbitmqctl set_vhost_limits -p vhost_name '{"max-queues": 1024}'

3.vhost 授權

# 創建賬號
rabbitmqctl add_user root root123456
# 設置用戶角色
rabbitmqctl set_user_tags root administrator
# 設置用戶權限
rabbitmqctl set_permissions -p [vhost_name] root ".*" ".*" ".*"

4.vhost 配置

# Spring
spring:
  # rabbitmq
  rabbitmq:
    host: 192.168.6.1
    # rabbitmq的端口
    port: 5672
    # rabbitmq的用戶名
    username: root
    # rabbitmq的用戶密碼
    password: root123456
    # 虛擬主機,用來區分不同環境的隊列
    virtual-host: dev
    #開啓重試機制
    listener:
      retry:
        enabled: true
        #重試次數,默認爲3次
        max-attempts: 3

 

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