• 2024-07-01RabbitMQ延时任务通过死信队列实现(golang)
    最近在一个项目中,需要实现在用户上传图片30分钟后,删除对应图片,以保证用户隐私。我们使用rabbitmq来实现。基于rabbitmq实现延时任务有两种方式,一种为队列ttl+死信exchange,另一种为安装插件(https://github.com/rabbitmq/rabbitmq-delayed-message-exchange)。其中安装
  • 2024-06-09“【SpringBoot】SpringBoot整合RabbitMQ消息中间件,实现延迟队列和死信队列”文章说了啥?
    在SpringBoot中整合RabbitMQ以实现延迟队列和死信队列的功能,主要涉及以下几个关键步骤:1.引入依赖:首先,在项目的pom.xml文件中添加RabbitMQ的依赖。2.配置RabbitMQ:在application.properties或application.yml文件中配置RabbitMQ的相关参数,包括连接信息、交换机名称、队列名
  • 2024-06-05Rabbitmq
    //connection//channel//broke//exchange:fanout、dirct、topic(*:一个单词、#:多个单词)、header//queue//bind(exchange,queue,routingkey)//一、如何保证消息不丢失//生产者发布消息时设置消息持久化(Persistent:true)、设置确认模式(DeliveryMode:2)//声明交换机时设
  • 2024-06-03RabbitMQ 进阶使用之延迟队列 → 订单在30分钟之内未支付则自动取消
    开心一刻晚上,媳妇和儿子躺在沙发上儿子疑惑的问道:妈妈,你为什么不去上班媳妇:妈妈的人生目标是前20年靠父母养,后40年靠你爸爸养,再往后20年就靠你和妹妹养儿子:我可养不起媳妇:为什么儿子:因为,呃...,我和你的想法一样讲在前面如果你们对RabbitMQ感到陌生,那可以停止往下阅读了
  • 2024-05-30第七节:RabbitMq延迟队列实操(死信交换机+TTL)和死信插件的使用
    一.        二.        三.         !作       者:Yaopengfei(姚鹏飞)博客地址:http://www.cnblogs.com/yaopengfei/声     明1:如有错误,欢迎讨论,请勿谩骂^_^。声     明2:原创博客请在转载
  • 2024-04-15RabbitMQ重试机制
    RabbitMQ重试机制+死信队列RabbitMQ重试机制RabbitMQ的消息重试机制,就是消息消费失败后进行重试,重试机制的触发条件是消费者显式的抛出异常,这个很类似@Transactional,如果没有显式地抛出异常或者trycatch起来没有手动回滚,事务是不会回滚的。if("ACK重试机制".equals(messageBod
  • 2024-03-18【IT老齐046】RabbitMQ队列解决消息积压问题
    【IT老齐046】RabbitMQ队列解决消息积压问题场景每天上午10点,全国2万多名客户经理集中录入上一日JK单据到BorrowSale系统,峰值能达到500单/s。但信审系统任务重,最多只支持到60单/s,每日会导致大量消息积压解决方案工作队列RabbitMQ改为工作队列模式,将消息送给9个信审系统实
  • 2024-03-17消息队列知识点总结
    一.什么是中间件?中间件是一类提供系统软件和应用软件连接、便于软件各部分之间沟通的软件,应用软件可以借助中间件在不同技术架构之间共享信息与资源。常用的中间件包括Redis、消息队列、分布式存储等。以智能BI平台项目为例。现有的系统包括图表管理、用户管理等,随着系统应
  • 2024-03-07RabbitMQ
    一、组件   二、6种工作模式    HolloWord、WorkQueues、Publish/Subscribe、Routing、Topic、RPC。    2.1、HolloWord模式               该模式不会用到交换机,实际工作场景也不会用到,只是简单的消息的生产和消费。  
  • 2024-02-17RocketMQ—RocketMQ消费重试和死信消息
    RocketMQ—RocketMQ消费重试和死信消息消费重试生产者重试设置重试的代码如下//失败的情况重发3次producer.setRetryTimesWhenSendFailed(3);//消息在1S内没有发送成功,就会重试producer.send(msg,1000);一般情况下,我们不会在生产者方进行重试。消费者重试消费者在消
  • 2024-02-05如何实现一个延迟队列?
    延迟队列是我们日常开发过程中,经常接触并需要使用到的一种技术方案。前些时间在开发业务需求时,我也遇到了一个需要使用到延迟消息队列的需求场景,因此我也在网上调研了一系列不同的延迟队列的实现方案,在此进行了一个总结并且给大家进行分享。延迟队列定义首先,队列这种数据结构相信大
  • 2024-01-25RabbitMQ
    RabbitMQ1.安装教程windows平台Erlang安装:Erlang安装_erlang安装教程-CSDN博客Erlang和RabbitMQ版本兼容:windows安装rabbitmq和环境erlang(最详细版,包括对应关系,安装错误解决方法)_erlang和rabbitmq关系-CSDN博客linuxdocker平台安装rabbitmq:Linux平台使用Docke
  • 2024-01-24rocketmq--死信队列
    在RocketMQ中,死信队列(DeadLetterQueue,DLQ)用于存放无法成功消费的消息。当消息重试消费次数超过设定的阈值后,消息将被转移到死信队列。使用SpringBoot集成RocketMQ时,可以通过以下步骤来处理死信队列中的消息。首先,在pom.xml中添加RocketMQSpringBootStarter的依赖:<dependen
  • 2024-01-04程序员的20大RabbitMQ面试问题及答案
    文章目录1、什么是RabbitMQ?为什么使用RabbitMQ?2、RabbitMQ有什么优缺点?3.rabbitmq的使用场景4.RabbitMQ基本概念5.RabbitMQ中的broker是指什么?cluster又是指什么?6、RabbitMQ概念里的channel、exchange和queue是逻辑概念,还是对应着进程实体?分别起什么作用?7vhost是什
  • 2023-12-26SpringBoot集成多个RabbitMq(多个MQ链接)
    ##2023年12月16日20:25:36 项目中使用RabbitMQ作为应用间信息互通,本次梳理下关于MQ的使用。1、引入依赖<!--引入依赖,使用v2.5.6版本--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot
  • 2023-12-16SpringBoot集成多个RabbitMq(多个MQ链接)
    ##2023年12月16日20:25:36 项目中使用RabbitMQ作为应用间信息互通,本次梳理下关于MQ的使用。1、引入依赖<!--引入依赖,使用v2.5.6版本--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-b
  • 2023-11-22RabbitMQ -- 延迟队列(死信队列中的消息TTL过期)
    用来存放需要在指定时间被处理的元素队列,队列中的元素希望在指定时间被取出和处理使用场景:订单在十分钟内未支付自动取消新创建的店铺,如果在十天之内没有上传过商品,则自定发送消息提醒用户注册成功后,如果三天内没有登录则进行短信提醒用户发起退款后,如果三天内没有得到处理则通知相
  • 2023-11-14过期监听实现定时任务的反面教材
    一、场景    在电商、支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时间段后进行关闭操作。    像某宝、某东都有这样的逻辑,而且时间很准确,误差在1s内,那他们是怎么实现的呢?    一般实现方法有几种: 使用RocketMQ、RabbitM
  • 2023-10-05RabbitMQ 死信交换机、延迟队列、惰性队列
    如果一个队列设置了死信交换机,该队列的消息就有了极大的可靠性保障,当出现以下情况时,消息就会投递到死信交换机中:队列中的消息在被消费者处理后,抛出异常,返回了nack或者reject如果队列设置了ttl或者消息本身设置了ttl,消息因为超时而未消费队列容量已经满了,后续发来的消息
  • 2023-09-27面试之消息队列
    使用mq的优缺点优点解耦,生产者与消费者都只需要与mq进行交互,减少了强依赖。流量削峰,将大量请求放入mq后,服务器可以根据自身能力从mq中拉取消息消费。异步通信,减少客户端响应时间。缺点系统更复杂,运维成本增加。可用性降低,存在mq服务器宕机的风险。 关键角
  • 2023-09-22MQ
    一、MQ比较          【比较】:Kafka以高吞吐量闻名,不过其数据稳定性一般,而且无法保证消息的有序性。日志收集有使用,业务模块中则使用RabbitMQ。           RocketMQ基于Kafka的原理,弥补了Kafka的缺点,继承了其高吞吐优势,其客户端目前以Ja
  • 2023-09-14死信交换机
    什么是死信?当一个队列中的消息满足下列情况之一时,可以成为死信(deadletter):消费者使用basic.reject或basic.nack声明消费失败,并且消息的requeue参数设置为false消息是一个过期消息,超时无人消费要投递的队列消息满了,无法投递如果这个包含死信的队列配置了dead-letter-exchan
  • 2023-09-10初识死信交换机
       
  • 2023-09-06RabbitMq
    RabbitMq消息延迟消费message.getMessageProperties().setDelay(5000)死信就是消息在特定场景下的一种表现形式,这些场景包括:消息被拒绝(basic.reject/basic.nack),并且requeue=false消息的TTL过期时消息队列达到最大长度达到最大重试限制消息在这些场景中时,被称为死
  • 2023-09-03rabbitmq延迟队列
    概念所谓“延迟消息”是指当消息被发送以后,并不想让消费者立刻拿到消息,而是等待特定时间后,消费者才能拿到这个消息进行消费使用场景1、订单在十分钟之内未支付则自动取消2、预定会议后,需要在预定时间点前十分钟通知各个与会人员参加会议。3、淘宝七天自动确认收货,自动评价功