Fork me on GitHub

RabbitMQ认识

前言

RabbitMQ是部署最广泛的开源消息代理。RabbitMQ在全球范围内在小型创业公司和大型企业进行了超过35,000次的生产部署,是最受欢迎的开源消息代理。RabbitMQ重量轻,易于部署在云端和云端。它支持多种消息传递协议。RabbitMQ可以部署在分布式和联合的配置中,以满足高规模,高可用性要求。RabbitMQ运行在许多操作系统和云环境中,为大多数流行的语言提供了广泛的开发工具。
官网

部署实践

服务部署

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# CentOS 6系列
# yum install -y epel-release
# yum install -y rabbitmq-server
# /usr/lib/rabbitmq/bin/rabbitmq-plugins list
# /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management
# /etc/init.d/rabbitmq-server start
# chkconfig rabbitmq-server on
# rabbitmqctl list_queues

# CentOS 7系列
# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
# yum install -y bash-completion
# yum install -y erlang
# yum install -y rabbitmq-server
# systemctl start rabbitmq-server.service
# systemctl enable rabbitmq-server.service

相关端口说明

1
2
3
4
5
6
7
# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 2751/beam
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 2768/epmd
tcp6 0 0 :::5672 :::* LISTEN 2751/beam
tcp6 0 0 :::4369 :::* LISTEN 2768/epmd

4369:RabbitMQ节点和CLI工具使用的对等发现服务
5672,5671:由AMQP 0-9-1和1.0客户端使用,没有和使用TLS
25672:由Erlang分配用于节点间和CLI工具通信,并且从动态范围(默认情况下限于单个端口,计算为AMQP端口+20000)分配。详情请参阅联网指南。
15672:HTTP API客户端和rabbitmqadmin(仅当管理插件启用时)
61613,61614:STOMP客户端没有和使用TLS(只有STOMP插件已启用)
1883,8883:(MQTT客户端没有和TLS,如果MQTT插件已启用
15674:STOMP-over-WebSockets客户端(仅在启用了Web STOMP插件的情况下)
15675:MQTT-over-WebSockets客户端(仅在启用了Web MQTT插件的情况下)

RabbitMQ插件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
# /usr/lib/rabbitmq/bin/rabbitmq-plugins list
[ ] amqp_client 3.3.5
[ ] cowboy 0.5.0-rmq3.3.5-git4b93c2d
[ ] eldap 3.3.5-gite309de4
[ ] mochiweb 2.7.0-rmq3.3.5-git680dba8
[ ] rabbitmq_amqp1_0 3.3.5
[ ] rabbitmq_auth_backend_ldap 3.3.5
[ ] rabbitmq_auth_mechanism_ssl 3.3.5
[ ] rabbitmq_consistent_hash_exchange 3.3.5
[ ] rabbitmq_federation 3.3.5
[ ] rabbitmq_federation_management 3.3.5
[ ] rabbitmq_management 3.3.5
[ ] rabbitmq_management_agent 3.3.5
[ ] rabbitmq_management_visualiser 3.3.5
[ ] rabbitmq_mqtt 3.3.5
[ ] rabbitmq_shovel 3.3.5
[ ] rabbitmq_shovel_management 3.3.5
[ ] rabbitmq_stomp 3.3.5
[ ] rabbitmq_test 3.3.5
[ ] rabbitmq_tracing 3.3.5
[ ] rabbitmq_web_dispatch 3.3.5
[ ] rabbitmq_web_stomp 3.3.5
[ ] rabbitmq_web_stomp_examples 3.3.5
[ ] sockjs 0.3.4-rmq3.3.5-git3132eb9
[ ] webmachine 1.10.3-rmq3.3.5-gite9359c7
# /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
# /usr/lib/rabbitmq/bin/rabbitmq-plugins list
[e] amqp_client 3.3.5
[ ] cowboy 0.5.0-rmq3.3.5-git4b93c2d
[ ] eldap 3.3.5-gite309de4
[e] mochiweb 2.7.0-rmq3.3.5-git680dba8
[ ] rabbitmq_amqp1_0 3.3.5
[ ] rabbitmq_auth_backend_ldap 3.3.5
[ ] rabbitmq_auth_mechanism_ssl 3.3.5
[ ] rabbitmq_consistent_hash_exchange 3.3.5
[ ] rabbitmq_federation 3.3.5
[ ] rabbitmq_federation_management 3.3.5
[E] rabbitmq_management 3.3.5
[e] rabbitmq_management_agent 3.3.5
[ ] rabbitmq_management_visualiser 3.3.5
[ ] rabbitmq_mqtt 3.3.5
[ ] rabbitmq_shovel 3.3.5
[ ] rabbitmq_shovel_management 3.3.5
[ ] rabbitmq_stomp 3.3.5
[ ] rabbitmq_test 3.3.5
[ ] rabbitmq_tracing 3.3.5
[e] rabbitmq_web_dispatch 3.3.5
[ ] rabbitmq_web_stomp 3.3.5
[ ] rabbitmq_web_stomp_examples 3.3.5
[ ] sockjs 0.3.4-rmq3.3.5-git3132eb9
[e] webmachine 1.10.3-rmq3.3.5-gite9359c7
# systemctl restart rabbitmq-server.service
# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:25672 0.0.0.0:* LISTEN 20622/beam
tcp 0 0 0.0.0.0:4369 0.0.0.0:* LISTEN 20640/epmd
tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 20622/beam
tcp6 0 0 :::5672 :::* LISTEN 20622/beam
tcp6 0 0 :::4369 :::* LISTEN 20640/epmd

访问管理地址:http://192.168.200.117:15672/
Username及Password为guest

API管理

http://192.168.200.117:15672/api/

======================================================
希望各位朋友支持一下

本文作者:dongsheng
本文地址https://mds1455975151.github.io/archives/c251117f.html
版权声明:转载请注明出处!

坚持技术分享,您的支持将鼓励我继续创作!