一、查看rabbitmq版本命令
在命令行中,使用以下命令可以查看當前安裝的rabbitmq版本:
rabbitmqctl status
該命令會輸出很多信息,其中就有版本號:
Status of node rabbit@localhost ...
[{pid,1592},
{running_applications,
[{rabbitmq_management,"RabbitMQ Management Console","3.8.3"},
{rabbitmq_web_dispatch,"RabbitMQ Web Dispatcher","3.8.3"},
{webmachine,"webmachine","1.10.3"},
{mnesia,"MNESIA CXC 138 12","4.14.3"},
{rabbitmq_management_agent,"RabbitMQ Management Agent","3.8.3"},
{rabbit,"RabbitMQ","3.8.3"},
{rabbit_common,[],"3.8.3"},
{recon,"Diagnostic tools for production use","2.5.1"},
{cowboy,"Small, fast, modern HTTP server.","2.8.0"}]},
{os,{win32,nt}},
{erlang_version,
"Erlang/OTP 22 [erts-10.7.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:64] [hipe]\n"},
{memory,
[{total,91744888},
{connection_readers,0},
{connection_writers,0},
{connection_channels,0},
{connection_other,0},
{queue_procs,0},
{queue_slave_procs,0},
{plugins,1081168},
{other_proc,20507312},
{mnesia,86592},
{mgmt_db,4293104},
{msg_index,61504},
{other_ets,3910168},
{binary,20348},
{code,25736160},
{atom,1035601},
{other_system,4630392}]},
{alarms,[]},
{listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
{vm_memory_high_watermark,0.4},
{vm_memory_limit,664312944},
{disk_free_limit,50000000},
{disk_free,2493521088},
{file_descriptors,
[{total_limit,1048576},
{total_used,2},
{sockets_limit,943626},
{sockets_used,0}]},
{processes,[{limit,1048576},{used,318}]},
{run_queue,0},
{uptime,263},"build_timestamp":"2020-01-15T15:42:00Z","distribution_version":"3.8.3","erlang_full_version":"Erlang
/OTP 22 [erts-10.7.2.1] [source] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:64] [hipe]"}]
從上面的輸出可以看出,當前安裝的rabbitmq版本是3.8.3。
二、rabbitmq查看消費情況
如果你想查看rabbitmq當前的消費情況,可以使用rabbitmqctl工具,命令如下:
rabbitmqctl list_consumers -p
其中,
該命令會輸出當前vhost下的所有消費者信息,例如:
Listing consumers ...
undefined false true 0 2 123 iex:1.4.0
從輸出中可以看到當前vhost下的一個隊列名稱為queue,有2個消費者。
三、rabbitmq版本查看指令
在程序中,我們可以使用amqp協議的客戶端連接到rabbitmq服務器,然后發送version指令來獲取服務器版本信息。下面是一個python示例:
import amqp
conn = amqp.Connection(host="localhost", userid="guest", password="guest")
chan = conn.channel()
res = chan.queue_declare(queue="test")
print(conn.server_properties["version"])
使用這個程序可以直接獲取服務器端的版本信息,例如:
3.8.3
四、查看rabbitmq版本號
除了使用命令和程序來獲取rabbitmq版本號之外,還可以在rabbitmq的web管理界面中查看。只需要登錄到web界面,在Overview頁面中就可以看到當前版本號,如下圖所示:
五、查看rabbitmq版本號命令
對于rabbitmq3.6.0及以上版本,我們可以使用以下命令來獲取版本號:
rabbitmq-server -v
該命令的輸出如下:
rabbitmq-server -v
2020-06-12 17:34:38.069 [info] <0.7.0> Application rabbitmq_management exited with reason: stopped
2020-06-12 17:34:38.128 [info] <0.7.0> Application rabbitmq_management started on node rabbit@localhost
RabbitMQ 3.8.3
從輸出可以看出,當前rabbitmq版本是3.8.3。
六、rabbitmq穩定版本
在選擇rabbitmq版本時,我們也需要考慮到穩定性的問題。你可以通過官網文檔中的版本頁面來查看每個版本的穩定性及支持情況。
例如,當前的穩定版本為3.8.x系列。這里的x表示最新的維護版本,也是我們應該優先選擇的版本。
七、如何查看IBM MQ版本
IBM MQ有類似于rabbitmqctl的Mqsc命令批處理工具來管理消息隊列。可以使用兩個命令來獲取IBM MQ版本信息:
dspmqver
dspmq
其中,dspmqver會輸出更詳細的版本信息。如下所示:
Name: IBM MQ
Version: 9.0.0.4
Level: p904-L170903
BuildType: IKAP - (Production)
Platform: WebSphere MQ for Windows
Mode: 64-bit
O/S: Windows Server 2012 R2 Standard Edition, 64-bit
InstName: MQSERVER
InstDesc:
InstPath: C:\Program Files\IBM\MQ
DataPath: D:\IBM\MQ\data
Primary: No
MaxCmdLevel: 902
LicenseType: Production
從輸出中可以看出當前的IBM MQ版本號是9.0.0.4。
總結
通過本文的介紹,我們了解了各種獲取rabbitmq版本信息的方法,包括命令行方式、程序訪問以及web管理界面查看等多種方式。不同的方法適用于不同的場景,根據實際情況選擇最適合的方法。