Rabbitmq~對Vhost的配置


 rabbitmq里有一些概念我們要清楚,如vhost,channel,exchange,queue等,而前段時間在部署rabbitmq環境時啟用了虛擬主機vhost,感覺他主要是起到了消息隔離的作用,下面分別再說一下它們的知識。

VHost

vhost去做第一層的區分,虛擬主機,工作組等,它默認是/

添加自己項目的Vhost

添加成功后,在列表里可以顯示

添加建立一個用戶,設置密碼

 

把用戶添加到對應的VHost組里,注意連接時也要使用VHost參數,如果沒有特別設置,可以不指定它,默認就是/

channel

創建了客戶端到Broker之間的連接后,客戶端還是不能發送消息的。需要為每一個Connection創建Channel,AMQP協議規定只有通過Channel才能執行AMQP的命令。一個Connection可以包含多個Channel。之所以需要Channel,是因為TCP連接的建立和釋放都是十分昂貴的,如果一個客戶端每一個線程都需要與Broker交互,如果每一個線程都建立一個TCP連接,暫且不考慮TCP連接是否浪費,就算操作系統也無法承受每秒建立如此多的TCP連接

Exchange

有多種類型,我們在發布和訂閱時,要指定這些類型,一般我們會使用性能更好的direc,或者更靈活的,支持通配符的topic

在客戶端連接時,需要指定一下VHost

            exchangeName = options.ExchangeName;
            mqServerHost = options.MqServerHost;
            userName = options.UserName;
            password = options.Password;
            var factory = new ConnectionFactory()
            {
                Uri = new Uri(mqServerHost)
            };
            factory.VirtualHost = options.VirtualHost;

好了,本講主要介紹了如何去配置VHost和如何去連接它!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM