vhost本質上是一個mini版的RabbitMQ服務器,擁有自己的隊列、綁定、交換器和權限控制;
vhost通過在各個實例間提供邏輯上分離,允許你爲不同應用程序安全保密地運行數據;
vhost是AMQP概念的基礎,必須在連接時進行指定,RabbitMQ包含了默認vhost:“/”;
當在RabbitMQ中創建一個用戶時,用戶通常會被指派給至少一個vhost,並且只能訪問被指派vhost內的隊列、交換器和綁定,vhost之間是絕對隔離的。
vhost操作:
rabbitmqctl add_vhost [vhost_name] #創建vhost
rabbitmqctl delete_vhost [vhost_name] #刪除vhost
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}'
RabbitMQ is multi-tenant system: connections, exchanges, queues, bindings, user permissions, policies and some other things belong to virtual hosts, logical groups of entities.
參考資料: