打開后台界面:http://localhost:15672/#/ 右上角可以設置頁面"刷新時間"。以及選擇監聽的"虛擬主機"。
界面有"概要"、"連接"、"通道"、"分發器"、"隊列"、"用戶"等幾個管理頁簽。
Overview
概要就是RabbitMQ的基本信息
Totals里面有Unacked未確認的消息數
Nodes :其實就是支撐RabbitMQ運行的一些機器(可以理解為集群的節點),RabbitMQ我只裝在了本地,因而只能看到一個節點。
Listening ports:3個端口(5672,25672,15672);
5672對應的是amqp,25672對應的是clustering,15672對應的是http(也就是我們登錄RabbitMQ后台管理時用的端口)。
25672對應的是集群,15672對應的是后台管理。因為RabbitMQ遵循Ampq協議,所以5672對應的就是RabbitMQ的通信了。
Connections
"連接"就是生產者和消費者的連接情況;
不管生產者還是消費者,其實都是應用程序(主體是計算機,有ip地址即可,物理上可以位於任何地方),都需要和rabbitmq服務器建立連接。
建立連接時,可以指定VirtualHost :
var factory = new ConnectionFactory() { HostName = "localhost", UserName = "hy123", Password = "hy", VirtualHost = "Yong" }; using (var connection = factory.CreateConnection())
【為什么要用虛擬主機?
RabbitMQ server 可以說就是一個消息隊列服務器實體(Broker),Broker當中可以有多個用戶(增加用戶的命令),而用戶只能在虛擬主機的粒度進行權限控制,所以RabbitMQ中需要多個虛擬主機。每一個RabbitMQ服務器都有一個默認的虛擬主機“/”。】
Channels
"通道"是建立在"連接"基礎上的,實際開發中"連接"應為全局變量,"通道"為線程級;
一個連接(ip) 可以有多個通道,eg,采用多線程。
圖中,機器xx.yy.57.132即開了三個通道
一個連接(Connections)可以創建多個通道【采用多線程】;一個應用或者一個線程 都是一個通道(Channel);在通道中 創建隊列Queue
生產者的通道一般會立馬關閉;消費者是一直偵聽的,通道幾乎是會一直存在。
Exchange
參考:http://www.ltens.com/article-6.html
Queues
是指 隊列中此時含有未被消費的數據條數。
下方可以查看隊列有沒有消費者(consumer)
Admin
"用戶管理"就是用戶增刪改查以及虛擬主機、規則等的配置。
參考:后台管理之系統管理員