RabbitMQ使用。html
1、安裝web
1.官網下載並安裝。http://www.rabbitmq.com/download.html shell
2.開啓web頁面管理工具。ubuntu
lubby@ubuntu:/usr/bin$ rabbitmq-plugins enable rabbitmq_management
這個時候能在安裝的機器上面經過頁面http://localhost:15672 使用默認帳戶guest密碼guest來管理。服務器
3.建立vhost工具
lubby@ubuntu:/usr/bin$ sudo rabbitmqctl add_vhost finance
2、建立用戶分配權限性能
若是想要在其餘機器上面也能登陸rabbitmq manager頁面須要建立帳號,而且分配權限。spa
1.建立用戶code
lubby@ubuntu:/usr/bin$ sudo rabbitmqctl add_user admin 123456
2.賦予帳戶角色
htm
lubby@ubuntu:/usr/bin$ sudo rabbitmqctl set_user_tags admin administrator
3.賦予用戶權限
lubby@ubuntu:/usr/bin$ sudo rabbitmqctl set_permissions -p finance admin '.*' '.*' '.*'
RabbitMQ分別和生產者,消費者創建TCP連接,一個TCP連接會被多個channel複用,這樣就能夠減小RabbitMQ服務器和鏈接者的TCP的創建。畢竟TCP連接的創建和銷燬很消耗性能。
RabbitMQ中分爲exchange,routingkey, queue三個概念。exchange是負責把生產者的消息發給綁定的queue;queue就是存放消息的隊列,消費者從queue中取數據;routingkey是exchange和queue綁定名稱,routingkey是標記exchange該把消息轉發給哪些隊列。多個queue和exchange綁定的routingkey能夠同樣。
exchange能夠分爲direct,fanout,topic,header.其中header基本上不多用到。
direct:消息發給exchange以後直接被轉發到全部與其綁定的queue。當生產者發送的時候指定exchange和routingkey,消息會發給和指定exchange綁定且指定routingkey的queue。當生產者直接發送給queue不指定exchange和routingkey則消息會經過默認的direct exchange發送到queue。
fanout:這個就是相似廣播的交換器,生產者只需發送給fanout類型的exchange,則全部綁定了該exchange的queue都會收到一份消息,生產者發送的時候只需指定fanout類型的exchange便可。
topic:能夠經過設置的routingkey帶有#或者*來進行匹配。只要生產者指定了routingkey,那麼exchange會匹配和queue綁定的routingkey來把消息傳遞給queue。