美文网首页
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