RabbitMQ-网页使用消息队列

这篇具有很好参考价值的文章主要介绍了RabbitMQ-网页使用消息队列。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.使用消息队列

几种模式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
从最简单的开始
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

添加完新的虚拟机可以看到,当前admin用户的主机访问权限中新增的刚添加的环境
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

1.1查看交换机

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
交换机列表中自动新增了刚创建好的虚拟主机相关的预设交换机。一共7个。前面两个 direct类型的交换机,一个是(AMQP default)还有一个是amq.direct,它们都是直连式的交换机。
先看第一个交换机:
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

第一个交换机是所有虚拟主机都会自带的一个默认交换机,并且此交换机不可删除,此交换机默认绑定到所有的消息队列,如果是通过默认交换机发送消息,那么会根据消息的 routingkey(相当于网络中的ip) (之后我们发消息都会指定)决定发送给哪个同名的消息队列,同时也不能显示地将消息队列绑定或解绑到此交换机。
我们可以看到,详细信息中,当前交换机特性是持久化(druable:true)的,也就是说就算机器重启,那么此交换机也会保留,如果不是持久化,那么旦重启就会消失。实际上我们在列表中看到 D 的字样,就表示此交换机是持久化的,包含一会我们要讲解的消息队列列表也是这样,所有自动生成的交换机都是持久化的。

然后查看第二个交换机,这个交换机是一个普通的直连交换机:
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

这个交换机和我们刚刚介绍的默认交换机类型一致,并且也是持久化的,但是我们可以看到它是具有绑定关系的,如果没有指定的消息队列绑定到此交换机上,那么这个交换机无法正常将信息存放到指定的消息队列中,也是根据 routingkey 寻找消息队列(但是可以自定义)

1.2 查看消息队列

1.2.1 创建队列

可以看到下方图中没有任何的消息队列,可以尝试在下方添加一个新的消息队列
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

第一行,选择刚刚创建好的虚拟主机,在这个虚拟主机下创建此消息队列,接着我们将其类型定义为 CLassic 类型,也就是经典类型(其他类型我们会在后面逐步介绍)名称随便起一个,然后持久化我们选择 Transient 暂时的(当然也可以持久化,看你自己)自动删除我们选择 No需要至少有一个消费者连接到这个队列,之后,一旦所有与这个队列连接的消费者都断开时,就会自动删除此队列)最下面的参数我们暂时不进行任何设置 (之后会用到)

创建好的队列
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
点击队列名称可查看详细信息,详细信息包括队列的当前负载状态、属性、消息队列占用的内存、消息数量等。
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

1.2.2 创建的队列绑定交换机

然后将当前消息队列绑定到上边的第二个直连交换机,这样就可以通过此交换机向此消息队列发送信息了 (即给第二个交换机(amp.direct)发送消息,由它将消息给到yyds队列中:
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
绑定之后
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

1.2.3 模拟发送消息

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
再次点击yyds名称,发现队列多了一条数据
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

1.2.4 在消息队列这边直接获取队列的消息

找到下方的get message选项:
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

可以看到三个选项,首先是Ack Mode,这个是应答模式选择,共有四个选项

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

Nack message requeue true: 拒绝消息,也就是说不会将消息从消息队列取出,并且重新排队,一次可以拒绝多个消息。
Ack message requeue false: 确认应答,确认后消息会从消息队列中移除,一次可以确认多个消息。
Reject message requeue true/false: 也是拒绝此消息,但是可以指定是否重新排队。

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

可以查看取出的消息

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

此时消息队列还有一条消息

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

尝试使用第二个选项,然后点击get message

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

发现队列没有消息了

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

1.2.5 再去第一个默认交换机尝试发送消息

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

routing key 改为yyds进行发布

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

发布成功

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

进入消息队列查看消息

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

因此第一个交换机和第二个交互机发布消息时的区别:第一个交换机是根据队列的名称判断的,第二个交换机是根据队列指定的routing key判断的
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式
点击名称进入详情查看routing key
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式

1.2.6 删除或情况队列

点击队列名称进行详情
RabbitMQ-网页使用消息队列,RabbitMQ,rabbitmq,分布式文章来源地址https://www.toymoban.com/news/detail-724987.html

到了这里,关于RabbitMQ-网页使用消息队列的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式消息队列RabbitMQ-Linux下服务搭建,面试完腾讯我才发现这些知识点竟然没掌握全

    vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app 5.修改配置文件 这里面修改{loopback_users, [“guest”]}改为{loopback_users, []} {application, rabbit, %% - - erlang - - [{description, “RabbitMQ”}, {id, “RabbitMQ”}, {vsn, “3.6.5”}, {modules, [‘background_gc’,‘delegate’,‘delegate_sup’,‘dtree’,‘file_han

    2024年04月14日
    浏览(56)
  • RabbitMQ实现延迟消息,RabbitMQ使用死信队列实现延迟消息,RabbitMQ延时队列插件

    假设有一个业务场景:超过30分钟未付款的订单自动关闭,这个功能应该怎么实现? RabbitMQ使用死信队列,可以实现消息的延迟接收。 队列有一个消息过期属性。就像丰巢超过24小时就收费一样,通过设置这个属性,超过了指定事件的消息将会被丢弃。 这个属性交:x-message

    2024年02月13日
    浏览(79)
  • RabbitMQ:高效传递消息的魔法棒,一篇带你助力构建可靠的分布式系统(上篇)

    MQ是消息队列( Message Queue )的缩写,是一种在应用程序之间传递消息的技术。通常用于 分布式系统 或 异步通信 中,其中 发送者 将消息放入队列,而 接收者 从队列中获取消息。 这种异步通信模式允许发送者和接收者在不需要实时连接的情况下进行通信,从而提高了应用

    2024年02月15日
    浏览(48)
  • 【RabbitMQ】RabbitMQ 消息的堆积问题 —— 使用惰性队列解决消息的堆积问题

    消息的堆积问题是指在消息队列系统中,当生产者以较快的速度发送消息,而消费者处理消息的速度较慢,导致消息在队列中积累并达到队列的存储上限。在这种情况下,最早被发送的消息可能会在队列中滞留较长时间,直到超过队列的容量上限。当队列已满且没有更多的可

    2024年02月05日
    浏览(50)
  • RabbitMQ 消息队列使用

    同步调用优点: 时效性强,立即得到结果 缺点: 耦合度高 新业务新需求到来时,需要修改代码 性能和吞吐能力下降 调用服务的响应时间为所有服务的时间之和 资源浪费 调用链中的服务在等待时不会释放请求占用的资源 级联失败 一个服务执行失败会导致调用链后续所有服务失

    2024年01月21日
    浏览(48)
  • Hyperf使用RabbitMQ消息队列

    Hyperf连接使用RabbitMQ消息中间件 使用Docker部署RabbitMQ,-传送门 使用Docker部署Hyperf,-传送门- 安装amqp扩展 安装command命令行扩展 配置参数 假设已经在rabbitmq设置了交换机exchange_test和队列queue_test 新建 /config/autoload/amp.php配置文件,修改地址和用户名密码 创建生产者中间件 exch

    2024年02月13日
    浏览(45)
  • Golang使用消息队列(RabbitMQ)

    最近在使用Golang做了一个网盘项目(类似百度网盘),这个网盘项目有一个功能描述如下:用户会删除一个文件到垃圾回收站,回收站的文件有一个时间期限,比如24h,24h后数据库中记录和oss中文件会被删除,在之前的版本中,可以使用定时任务来检查数据库记录中删除时间

    2024年02月10日
    浏览(53)
  • 消息队列RabbitMQ.01.基本使用

    目录  RabbitMQ的作用 Message queue 释义  问题思考  存在的问题 优化方案  案例分析  带来的好处  消息队列特点  Email邮件案例分析 Docker安装部署RabbitMQ 1.下拉镜像 2.运行RabbitMQ  3.打开防火墙端口号并重新运行防火墙 4.容器启动后,可以通过 docker logs 容器 查看日志 6.通过刚才

    2024年01月21日
    浏览(41)
  • Java RabbitMQ消息队列简单使用

    消息队列,即MQ,Message Queue。 消息队列是典型的:生产者、消费者模型。生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入,这样就实现了生产者和消费者的解耦。

    2024年02月12日
    浏览(61)
  • Thinkphp6使用RabbitMQ消息队列

    Thinkphp6连接使用RabbitMQ(不止tp6,其他框架对应改下也一样),使用Docker部署RabbitMQ,在上一篇已经讲了-传送门-。 开始前先进入RabbitMQ的web管理界面,选择Queues菜单,点击底部的Add a new queue,新建一个test的队列。 安装thinkphp6框架 安装workerman扩展 安装rabbitmq扩展 生产者 在a

    2023年04月23日
    浏览(77)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包