美文网首页
RabbitMQ的使用

RabbitMQ的使用

作者: 阿富有点愚 | 来源:发表于2022-12-06 10:03 被阅读0次

AMQP是一种使用广泛的独立于语言的消息协议,它的全称是Advanced Message Queuing Protocol,即高级消息队列协议,它定义了一种二进制格式的消息流,任何编程语言都可以实现该协议。实际上,Artemis也支持AMQP,但实际应用最广泛的AMQP服务器是使用Erlang编写的RabbitMQ

安装RabbitMQ

我们先从RabbitMQ的官网下载并安装RabbitMQ,安装和启动RabbitMQ请参考官方文档。要验证启动是否成功,可以访问RabbitMQ的管理后台http://localhost:15672,如能看到登录界面表示RabbitMQ启动成功:

image.png
RabbitMQ后台管理的默认用户名和口令均为 guest,guest用户只是被容许从localhost访问 生产环境的记得修改新增后台管理的账户跟密码

RabbitMQ的基本消息类型
1、Hello Wold 简单模式(普通消息)
生产者-消息队列-消费者
注意:当程序出现异常时,手动进行ACK,

2、Work queues 工作队列模式 ,在工人之间分配任务(竞争消费者模式)
生产者-消息队列-多个消费者
注意:默认开启的是轮询模式,设置每个消费者同时只能处理一条消息,这样子就快劳多得


image.png

消息队列ACK


image.png

3、Publish/Subscribe发布订阅模式,一次向多个消费者发送消息
交换机:RabbitMQ 消息传递模型的核心思想是生产者从不直接向队列发送任何消息。实际上,生产者经常甚至根本不知道消息是否会被传送到任何队列。相反,生产者只能将消息发送到交换机。交换是一件非常简单的事情。一方面它接收来自生产者的消息,另一方面将它们推送到队列中。交换机必须确切地知道如何处理它收到的消息。它应该附加到特定队列吗?它应该附加到许多队列中吗?或者它应该被丢弃。其规则由交换类型定义。


image.png

有几种可用的交换机类型:direct、topic、headers 和fanout。

4、Routing 路由模式


image.png

5、Topics 主题模式

6、Publisher Confirms 发布确认模式

注意:交换机通道持久化,队列持久化,消息持久化 保证异常情况下消息还能保存

相关文章

网友评论

      本文标题:RabbitMQ的使用

      本文链接:https://www.haomeiwen.com/subject/zzwbfdtx.html