Rabbitmq是一个消息代理。它的核心思想非常简单:接收并转发消息。你可以把它想象成一个邮局:当你把邮件丢进邮箱时,你非常确定邮递员先生会把它送到收件人手中。在这个比喻中,RabbitMQ就是邮箱、邮局和邮递员。
RabbitMQ和邮局的主要区别是它处理的不是纸张。它接收、存储并转发二进制数据块,也就是message,消息。
术语
RabbitMQ和消息传递中会用到一些术语:
生产者
在现实生活中就好比制造商品的工厂,他们是商品的生产者。生产者只意味着发送。发送消息的程序称之为一个生产者。我们用“P”表示

列队
队列就像存放商品的仓库或者商店,是生产商品的工厂和购买商品的用户之间的中转站。队列就像是一个仓库或者流水线。在RabbitMQ中,信息流从你的应用程序出发,来到RabbitMQ的队列,所有信息可以只存储在一个队列中。队列可以存储很多的消息,因为它基本上是一个无限制的缓冲区,前提是你的机器有足够的存储空间。多个生产者可以将消息发送到同一个队列中,多个消费者也可以只从同一个队列接收数据。这就是队列的特性。队列用下面的图表示,图上面是队列的名字:

消费者
消费者就好比是从商店购买或从仓库取走商品的人,消费的意思就是接收。消费者是一个程序,主要是等待接收消息。我们的用“C”表示

注意: producer、consumer和消息代理不需要生活在同一台机器上,事实上大多数应用中它们会分开住。
安装
|
1.设置未开机启动
|
2.启动
|
配置端口
确保可以打开以下端口:
4369:epmd,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插件的情况下)
查看状态
|
配置文件
|
修改
|
为
|
开启web管理插件
|
重启
|
开通端口
sudo iptables -I INPUT -p tcp -m tcp –dport 15672 -j ACCEPT
sudo iptables -I INPUT -p tcp -m tcp –dport 5672 -j ACCEPT
访问

创建用户
|
赋予admin 管理员权限
|
列出用户
|
登录后界面
