一、什么是RabbitMQRabbitMQ是什么? --"RabbitMQ是基于AMQP协议的队列服务"。什么是AMQP?-- Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。可以理解RabbitMQ是实现了高级消 ......
353
0
0
2022-11-10
一、免费申请rabbitmq账号管理世界上最大的RabbitMQ集群rabbitmq管理器二、 安装rabbitmq软件包官方地址composer require vladimir-yuldashev/laravel-queue-rabbitmq 三、配置# config/queue.php 'connections' => [ ......
357
0
0
2022-10-13
实现原理:给队列的消息设置过期时间(TTL),消息到期后就会投递到一个死信队列,我们就可以在这里处理延迟的任务。一、介绍1. 死信队列当消息在一个队列中变成死信之后,它会被重新投递到设置的Exchange中,这个Exchange就是DLX,通过routing_key的绑定投递到对应的队列,这个队列就是死信队列。2. 死信消息消息被拒绝(basic.rejec ......
293
0
0
2022-10-07
读本文之前,你应该已经了解 RabbitMQ 的一些概念,如队列、交换机之类。延迟队列简介一个队列中的消息在延迟一段时间后才被消费者消费,这样的队列可以称之为延迟队列。延迟队列的应用场景十分广泛,如:下单后30分钟内未付款则取消订单;在某个时间下发一条通知等。通过死信实现延迟队列通过Golang 实现 RabbitMQ 的死信队列的介绍,我们可以很容易的实现 ......
475
0
0
2022-08-26
读本文之前,你应该已经了解 RabbitMQ 的一些概念,如队列、交换机之类。死信概念通俗来讲,无法被正常消费的消息,我们可以称之为死信。我们将其放入死信队列,单独处理这部分“异常”消息。当消息符合以下的一个条件时,将会称为死信。消息被拒绝,不重新放回队列(使用 basic.reject / basic.nack 方法拒绝消息,并且这两个方法的参数 requ ......
345
0
0
2022-08-25
背景需要做项目迁移时,例如laravel迁移至hyperf时,因为基本上都是一步一步迁移的,仍有例如支付回调等依旧在laravel框架中进行消费的情况。需要接管处理消息的queue进行数据格式改造,利用构造同样命名空间的job去进行投递,他会序列化数据,可以debug一下内容哦,然后投递至rabbitMQ后,laravel进行消费就好啦。其中hyperf的版 ......
381
0
0
2022-07-19
RabbitMQ windows 安装下载 RabbitMQwww.rabbitmq.com/install-windows.h...搜索关键字 Download下载 erlang 环境安装包下www.erlang.org/downloads安装配置erlang点击上述下载的 otp_win64_24.0.exe一直 next 即可,记住自己的安装路径,使用 ......
313
0
0
2022-07-10
【我们一起来学 RabbitMQ 一 】RabbitMQ 的基本介绍 嗨,大家好,我是小魔童哪吒,咱们从今天开始进入开源组件的学习,一边学习一边总结一边分享 文章提纲如下: RabbitMQ 简单介绍及使用RabbitMQ 的六种工作模式 本次文章不涉及编码,编码咱们统一放在下一次 RabbitMQ 简单介绍 RabbitMQ 是一套开源(MPL) ......
334
0
0
2022-07-05
RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在可靠性、易用性、扩展性、高可用性等方面表现不俗;消息的可靠性是RabbitMQ的一大特色,为了保证RabbitMQ在退出或者crash等异常情况下数据没有丢失,需要将queue,message和exchange都持久化。rabbitmq ......
358
0
0
2022-05-12
主题和队列最初的消息队列,就是一个严格意义上的队列。在计算机领域,“队列(Queue)”是一种数据结构,有完整而严格的定义。在维基百科中,队列的定义是这样的:队列是先进先出(FIFO, First-In-First-Out)的线性表(Linear List)。在具体应用中通常用链表或者数组来实现。队列只允许在后端(称为 rear)进行插入操作,在前端(称为 ......
353
0
0
2022-05-12
Mac 安装 RabbitMQ## 安装 brew install rabbitmq ## 启动 rabbitmq-server ## 默认rabbitmq是没有安装web端的客户端的插件 rabbitmq-plugins enable rabbitmq management ## 创建用户 rabbitmqctl add_user ......
474
0
0
2022-04-16
前言RabbitMQ 和很多消息中间件技术一样,主要是为了解决分布式架构系统中系统和系统之间的通讯问题RabbitMQ 是基于 AMQP 协议进行通讯的,AMQP协议是在 TCP/IP协议之上的协议。为什么不使用 HTTP 协议,是因为 HTTP 协议相对而言太过复杂,有cookie,加密,等等一系列信息,传输效率比较低,并且 大部分情况下,HTTP协议都是 ......
380
0
0
2022-04-16
首先安装 Erlang查看对应版本的 RabbitMQ 对应的 Erlang的版本www.rabbitmq.com/which-erlang.html这里选择安装 RabbitMQ 3.8.16 版本,对应的 Erlang 23.2版本以上,这里去Erlang官网下载载需要的Erlang 版本依赖ubuntu 版本ubuntu版本:Focal 12.04 ( ......
420
0
0
2022-04-16
1、RabbitMQ 内存警告当内存使用超过配置的阈值或者磁盘空间剩余空间低于配置的阈值时,RabbitMQ会暂时阻塞客户端的连接,并且停止接收从客户端发来的消息,以此避免服务器的奔溃,客户端与服务端的心跳检测机制也会失效。 如图,如果出现 blocking或blocked说明达到了阈值以及高负荷运行了2、RabbitMQ 的内存控制参考帮助文档:www. ......
337
0
0
2022-04-16
概述DLX,全称为 Dead-Letter-Exchange,可以称之为死信交换机,也有人称之为死信邮箱。当消息在一个队列中变成死信(dead message)之后,他能被重新发送到另一个交换机中,这个交换机就是 DLX,绑定 DLX 的队列就称之为死信队列。消息变成死信,可能是由以下的原因消息被拒绝消息过期队列达到最大长度DLX 也是一个正常的交换机,和一 ......
236
0
0
2022-04-16