每日关注!天惶惶地惶惶周德东小说_天惶惶地惶惶周德东
1、天惶惶地惶惶里面有四个故事分别是(虫子)(第12夜)(红都剧院24排4号)(天惶惶地惶惶),(虫子)讲关于虫子的恐怖
延迟队列存储的对象是对应的延迟消息,所谓的延迟消息是指当消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费
利用RabbitMq
的TTL
和死信队列 来实现延时消费。
【资料图】
如果设置的是队列统一过期时间放到死信队列,没有什么问题。
如果是延时时间设置到每条消息上的。而不是给队列的。
实现方式为消息存活时间为动态用户页面可配置的。
先用一条消息的存活时间是1天。后面又进了一条消息存活时间是1小时。
结果一小时到了,发现这条消息并没有被转发到消费延时过期消息的队列。
原因是尽管ttl是设给每条消息的。但是本质上,所有延时消息都还在一个队列里,对它过期时间的检测也是从头部开始的。
它不会检测每一条消息是否过期。而是顺序检测。
如果first in
的消息过期时间很长,会导致它阻塞后进的消息。
不仅无法实现真正的过期时间。还会导致,一个大的过期时间的先进的消息,会堆积一堆后进的过期时间短的消息。
这个时候可以使用rabbitMq的一个插件:rabbitmq_delayed_message_exchange
一段时间以来,人们一直在寻找用RabbitMQ实现延迟消息的传递方法,到目前为止,公认的解决方案是混合使用TTL和DLX。而rabbitmq_delayed_message_exchange插件就是基于此来实现的,RabbitMQ延迟消息插件新增了一种新的交换器类型,消息通过这种交换器路由就可以实现延迟发送
需要根据自己的rabbitMq选择对应的版本。我rabbitMq的版本是RabbitMQ 3.11.0
,对应的插件版本就是:3.11.1
--1、cd到rabbitmq默认安装位置cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.18/plugins--2、通过ftp工具将插件上传到此目录下--3、开启插件rabbitmq-plugins enable rabbitmq_delayed_message_exchange--4、重启MQ服务systemctl restart rabbitmq-server
--1、通过ftp工具将插件上传到Linux服务器的根目录下--2、拷贝到docker中rabbitmq插件目录下,rabbitmq_delayed_message_exchange-3.9.0.ez(下载包的全名)docker cp /rabbitmq_delayed_message_exchange-3.9.0.ez 容器ID:/plugins--3、进入容器docker exec -it 容器id /bin/bash--4、查看插件是否存在(确保2中的操作已经将插件拷贝过来了)cd pluginsls |grep delay--5、开启插件rabbitmq-plugins enable rabbitmq_delayed_message_exchange--6、退出容器exit--7、重启MQ服务docker restart 容器ID
web界面新建交换机选择类型出现红框标注即表示成功
@Configurationpublic class DelayRabbitmqConfig { /** * 声明延迟队列 * @return */ @Bean public Queue delayQueue(){ return new Queue(QueueConstant.DelayQueue, true,false,false); } /** * 声明延迟自定义交换机类型 * @return */ @Bean public CustomExchange delayCustomExchange(){ HashMap args = new HashMap<>();// 设置 x-delayed-type 为 direct,当然也可以是 topic 等 发送消息时设置消息头 headers 的 x-delay 属性,即延迟时间,如果不设置消息将会立即投递 args.put("x-delayed-type","direct"); return new CustomExchange(ExchangeConstant.DelayCustomerExchange, "x-delayed-message",true,false,args); } /** * 绑定延迟交换机和队列 * @return */ @Bean public Binding delayQueueAndCustomExchange(){ return BindingBuilder.bind(delayQueue()) .to(delayCustomExchange()).with(RoutingKeyConstant.DelayCustomerRoutingKey).noargs(); }}
引入依赖: xmlns:util="http://www.springframework.org/schema/util" http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.0.xsd
//消息发送final MessagePostProcessor messagePostProcessor = new MyMessagePostProcessor(Integer.valueOf(ttl.toString()));DisTimingPushDto disTimingPushDto = new DisTimingPushDto();disTimingPushDto.setOrderId(dispense.getOrderId());disTimingPushDto.setPushTime(disDispense.getPushTime());rabbitTemplate.convertAndSend(MsgQueueEnum.TIMING_PUSH.getExchangeName(), MsgQueueEnum.TIMING_PUSH.getQueueName(), disTimingPushDto, messagePostProcessor);//每条消息时间配置import org.springframework.amqp.AmqpException;import org.springframework.amqp.core.Message;import org.springframework.amqp.core.MessagePostProcessor;/** * 延迟消息处理器 Processor * @author king * @date 2022年12月28日 11:14 */public class MyMessagePostProcessor implements MessagePostProcessor { /** * 消息延迟时间,单位:毫秒 */ private final Integer TTL; public MyMessagePostProcessor(final Integer ttl) { this.TTL = ttl; } @Override public Message postProcessMessage(Message message) throws AmqpException { message.getMessageProperties().setDelay(TTL); return message; }}
关键词: RabbitMQ
1、天惶惶地惶惶里面有四个故事分别是(虫子)(第12夜)(红都剧院24排4号)(天惶惶地惶惶),(虫子)讲关于虫子的恐怖
1、“斗”,现代汉语规范一级字(常用字),普通话读音为dǒu,dòu,最早见于甲骨文时代,在六书中属于象形字。2、“斗”
25日,中国侨商投资(广东)大会在广州隆重举行,约450名在海内外具有广泛影响力的侨商侨企代表和侨界人士现场参加大会。
大师公益课火热开讲啦天津市第一届少年儿童冬季体育节国际跳棋大师公益课活动背景为进一步在我市青少年儿童中推广棋类运动,培养少年儿童对棋
1、据不完全统计,2012年2月开始,一年时间内,四川省内被媒体报道的较有影响的乌木出土或权属争议事件便有8起,安徽
美联储密切关注的通胀指标1月超预期加速,且消费者支出创下2021年以来最大增幅,这些数据都给决策层施加了持续加息的压力。 美国商务部周五
欢迎观看本篇文章,小升来为大家解答以上问题。青春芒果夜2019节目单,青春芒果夜2019节目单是什么很多人还不知道,现在
1、基本上都是同名的,改名的会特别指出《奋斗》——作家石康将自己的小说《奋斗》改编成同名电视剧海岩的那一大堆《深牢大
1、门客。2、汉语词语。3、是指官僚贵族家中豢养的帮闲或帮忙的人。文章到此就分享结束,希望对大家有所帮助。
1、编年体史书。2、 编年体纪录历史的方式最早起源于中国。3、由周代史官于公元前841年前后创体,《左传》完善其体例,
1、单丛茶是乌龙茶类,属半发酵工艺,茶性平和,单丛茶指的是茶树中具有各自鲜明的植物香型,单棵采摘、单棵制作、韵味突出、品
1、马季,男,原名马树槐,1934年8月2日出生于北京,中国相声演员。2、中国相声第七代传人。3、1956年加入中央广播
1、霹雳布袋戏虚拟人物。2、残林之主原为皇甫家二公子,惨遭刀瘟肆虐一夕灭门,虽大难不死却重伤残疾,毕生以追缉凶手
作者|刘艺晨编辑|谢芸子2023年,教育行业迎来了顺风开局。年初,公考三巨头之一的粉笔上市,两度递表后正式挂牌港交所。随后不久,成人职业教
以下是石英股份在北京时间2月24日09:30分盘口异动快照:2月24日,石英股份盘中快速上涨,5分钟内涨幅超过2%,截至9点30分,报136 43元,成交1
智通财经获悉,周四美股三大指数集体收涨,港股ADR指数下跌,按比例计算,收报20221点,较香港收市跌202 34点或1
1、上海易可思信息技术有限公司由留美医学博士、计算机硕士和工商管理学硕士等多重专业团队成员于2002年回国创建。2、系高
欢迎观看本篇文章,小升来为大家解答以上问题。良言一句三冬暖恶语伤人六月寒的意思,良言一句三冬暖恶语伤人六月寒的意思简述很
本文来源:时代周报作者:特约记者雨辰当市场还沉浸在“锂电狂潮”之时,市场已经嗅到了一丝“钠”的气息,钠离子电池或许即将上车。2月22日,
离石-方山这条公路已交工验收,于2月28日起通车试运营!
邵女坪,云南的“小三亚”
D牌和拉人口时机取决于阵容主坦和主C费用1、主1费:D出三星前不拉人口,2-7打完野怪后卡50或40利息D三星1费2、主2费:6人口卡50利息D三星2费3
尽管它正在与其他MMO达成发行协议(NCSOFT的《王座与自由》的最新协议是几个小时前宣布的),但AmazonGames
【行情】早盘开盘,国内期货主力合约多数上涨,煤炭期货涨幅居前。焦煤涨超5%,焦炭、甲醇涨超2%,沥青涨近2%。跌幅方面,低硫燃料油(LU)、
晨报讯(通讯员蔡立豪南京晨报 爱南京记者端木)农历二月初二,是“龙抬头”的日子。每年这一天,大人小孩都想着理个头发讨个好彩头。在这个特