rabbitmq队列中消息过期配置

最近公司某个行情推送的rabbitmq服务器由于客户端异常导致rabbitmq队列中消息快速堆积,还曾导致过内存积压导致rabbitmq客户端被block的情况。考虑到行情信息从业务上来说可以丢失部分消息,并不要求完全可靠。为了尽量避免某个客户端未及时消费影响整个mq,故考虑对某些队列中的消息设置TTL。如下:

rabbitmqctl set_policy TTL "ttl.*" ‘{"message-ttl":60000}‘ --apply-to queues具体可查看官方文档https://www.rabbitmq.com/ttl.html。所有已经存在的消息不受影响,所有新发布的消息如果在发布到queue之后60s内没有被客户端消费,就会自动过期并被erlang vm回收。
时间: 2024-11-23 13:29:09

rabbitmq队列中消息过期配置的相关文章

ActiveMQ队列消息过期时间设置和自动清除解决方案

版本 apache-activemq-5.15.3 1.消息过期设置 参数详情 1)message过期则客户端不能接收 2)ttlCeiling:表示过期时间上限(程序写的过期时间不能超过此时间,超过则以此时间为准) 3)zeroExpirationOverride:表示过期时间(给未分配过期时间的消息分配过期时间) 配置示例 <broker> ... <plugins> <!-- 86,400,000ms = 1 day --> <timeStampingBro

java B2B2C 仿淘宝电子商城系统-基于Rabbitmq实现延迟消息

1. 预备知识 1.1 消息传递 首先我们知道消费者是从队列中获取消息的,那么消息是如何到达队列的? 当我们发送一条消息时,首先会发给交换器(exchange),交换器根据规则(路由键:routing key)将会确定消息投递到那个队列(queue). 需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六 带着这几个关键字:交换器.路由键和队列. 1.2 交换器类型 如之前所说,交换器根据规则决定消息的路由方向.因此,rabbitmq

Android中消息系统模型和Handler Looper

作为Android中大量使用的Handler,结合Thread使其具有众多的使用形式和方法, 让我一时感觉这个东西有些玄乎,不明所以然,这到底是一个什么样的存在呢?通过网上 资料和源码的学习,这个Handler也差不多弄清楚了,现在总结下这个学习结果. 一 Handler作用和概念 通过官方文档了解到Handler的大致概念是: Handler能够让你发送和处理消息,以及Runnable对象:每个Handler对象对应一个Thread和 Thread的消息队列.当你创建一个Handler时,它就

RabbitMQ(消息队列)集群配置与使用篇

介绍 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术.排队指的是应用程序通过 队列来通信.队列的使用除去了接收和发送应用程序同时执行的要求.其中较为成熟的MQ产品有IBM WEBSPHERE MQ等等. MQ特点 MQ是消费-生产者模型的一个典型

spring boot Rabbitmq集成,延时消息队列实现

本篇主要记录Spring boot 集成Rabbitmq,分为两部分, 第一部分为创建普通消息队列, 第二部分为延时消息队列实现: spring boot提供对mq消息队列支持amqp相关包,引入即可: [html] view plain copy <!-- rabbit mq --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-

第二百九十一节,RabbitMQ多设备消息队列

RabbitMQ多设备消息队列-安装与简介 RabbitMQ简介 解释RabbitMQ,就不得不提到AMQP(Advanced Message Queuing Protocol)协议. AMQP协议是一种基于网络的消息传输协议,它能够在应用或组织之间提供可靠的消息传输.RabbitMQ是该AMQP协议的一种实现,利用它,可以将消息安全可靠的从发 送方传输到接收方.简单的说,就是消息发送方利用RabbitMQ将信息安全的传递给接收方. RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息

RabbitMq+Spring boot 消息生产者向队列发送消息 (一)

本人学习新框架方法. 一.先学习框架基本知识,也就是看这本书的前三章,了解基本概念.比如这个Rabbitmq,我会先看一些概念,比如,交换机,路由器,队列,虚拟机. 二.然后写代码,写demo,有哪些不懂的地方直接再去翻书或者google找资料,带着问题去学习,学的更快更扎实一些. 三.然后再看这个框架的应用场景,自己能否独立的写一些简单的项目,来验证自己的成果. 四.实际项目积累经验. RabbitMq 消息生产者向队列发送消息 (一) MQ分为消息生产者和消息消费者,这次做的主要是消息的生产

使用rabbitmq手动确认消息的,定时获取队列消息实现

描述问题 最近项目中因为有些数据,需要推送到第三方系统中,因为数据会一直增加,并且需要与第三方系统做相关交互. 相关业务 本着不影响线上运行效率的思想,我们将增加的消息放入rabbitmq,使用另一个应用获取消费,因为数据只是推送,并且业务的数据有15分钟左右的更新策略,对实时性不是很高所以我们需要一个定时任务来主动链接rabbit去消费,然后将数据以网络方式传送 相关分析 网络上大致出现了相关的解决办法,但由于实现相关数据丢失及处理.性能和效率等相关基础业务的工作量,望而却步...... 还好

消息队列中点对点与发布订阅区别(转)

背景知识 JMS一个在 Java标准化组织(JCP)内开发的标准(代号JSR 914).2001年6月25日,Java消息服务发布JMS 1.0.2b,2002年3月18日Java消息服务发布 1.1. Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信. 点对点与发布订阅最初是由JMS定义的.这两种模式主要区别或解决的问题就是发送到队列的消息能否重