一、查看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>
其中,<vhost>是你想查看的vhost名称,如果不指定则默认为/。
该命令会输出当前vhost下的所有消费者信息,例如:
Listing consumers ...
<vhost> <queue> 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管理界面查看等多种方式。不同的方法适用于不同的场景,根据实际情况选择最适合的方法。