一、什么是 RabbitMQRabbitMQ 是实现 AMQP(高级消息队列协议)的消息中间件的一种,最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 RabbitMQ 是由 Erlang 语言开发,安装 RabbitMQ 服务需要先安装 Erlang 语言包。            
                
         
            
            
            
            使用场景RabbitMQ 从 3.6.0 版本开始引入了惰性队列的概念。惰性队列会尽可能的将消息存入磁盘中,而在消费者消费到相应的消息时才会被加载到内存中,它的一个重要的设计目标是能够支持更长的队列,即支持更多的消息存储。当消费者由于各种各样的原因(比如消费者下线、宕机亦或者是由于维护而关闭等)而致使长时间内不能消费消息造成堆积时,惰性队列就很有必要了。默认情况下,当生产者将消息发送到 Rabbi            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-15 05:39:35
                            
                                57阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.异步消息的定义异步消息的主要目的是为了系统与系统之间的通信,所谓异步消息即消息发送者无需等待消息接收者的处理以及返回,甚至无需关心消息是否发送成功。在异步消息中有两个很重要的概念,即消息代理和目的地,当消息发送者发送消息之后,消息将由消息代理接管,消息代理保证消息传递到指定目的地。异步消息主要有两种目的地形式,队列(queue)和主题(topic),队列用于点对点形式的消息通信,主题用于发布订            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-13 09:38:38
                            
                                36阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            1.死信队列当queue中的消息无法被消费时,消息成为死信,产生条件如下三个:消息TTL过期(TTL一般生产者每次发消息都单独指定)queue满了而无法添加消息被拒or否定 且不重新入队(basic.reject拒绝 或 basic.nack否定)并且requeue = false不重新入队失败消息如何转发到(绑定到)死信队列需要单独声明:死信交换机 和 死信队列需要设置参数来实现消息转发到死信交            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-05 14:01:11
                            
                                62阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            当我们使用延迟加载,但是如果用Spring管理Hibernate,那么每次操作都会关闭Session。这样触发延迟加载就会导致session已经关闭的错误。但是如果我们不使用延迟加载,那么表的关联关系一旦很庞大,数据很多。那么效率也是个不可忽视的问题。进入正题。 
(1)web.xml的配置 
<?xml version="1.0" encoding            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-10 14:28:14
                            
                                18阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现Spring Boot使用Redis队列
## 流程图
```mermaid
flowchart TD
    A(创建Spring Boot项目) --> B(引入Redis依赖)
    B --> C(配置Redis连接信息)
    C --> D(实现消息生产者)
    D --> E(实现消息消费者)
```
## 整体流程
| 步骤 | 描述            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-04-10 05:08:42
                            
                                56阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Spring Cloud Bus将分布式系统的节点与轻量级消息代理链接。这可以用于广播状态更改(例如配置更改)或其他管理指令。一个关键的想法是,总线就像一个分布式执行器,用于扩展的Spring Boot应用程序,但也可以用作应用程序之间的通信通道。目前唯一的实现是使用AMQP代理作为传输,但是相同的基本功能集(还有一些取决于传输)在其他传输的路线图上。进行安装RabbitMQ本次进行安装Rabbi            
                
         
            
            
            
            Springboot+rabbitmq实现延时队列什么是延迟队列延迟队列存储的对象肯定是对应的延时消息,所谓“延时消息”是指消息被发送以后,并不想让消费者拿到消息,而是等待指定时间后,消费者才拿到这个消息进行消费。使用场景:在订单系统中,一个用户下单之后通常有30分钟的时间进行支付,如果30分钟之内没有支付成功,那么这个订单将进行一场处理。这是就可以使用延时队列将订单信息发送到延时队列。定时发送公            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-26 13:29:23
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            延时队列延时队列能做什么?订单业务: 在电商/点餐中,都有下单后 30 分钟内没有付款,就自动取消订单。短信通知: 下单成功后 60s 之后给用户发送短信通知。失败重试: 业务操作失败后,间隔一定的时间进行失败重试      对于需要延时操作的事务,不用延时队列可以用定时任务的方式,来查询数据库,但这样的的效率很低。另一种就是用Java中的Dela            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-27 10:17:55
                            
                                29阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            首先新建一个SpringBoot项目,下面开始正式的集成操作。第一步:打开pom.xml文件,添加依赖。这里等待maven仓库加载完成。<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-sta            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-14 06:11:25
                            
                                383阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            webmvc和webflux作为spring framework的两个重要模块,代表了两个IO模型,阻塞式和非阻塞式。1、webmvcwebmvc是基于servlet的阻塞式模型,一个请求到达服务器后会单独分配一个线程去处理请求,如果请求包含IO操作,线程在IO操作结束之前一直处于阻塞等待状态,这样线程在等待IO操作结束的时间就浪费了。2、webflux webflux是一个异步非阻塞式的 Web            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-16 05:58:18
                            
                                118阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            RabbitMQ简介AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2021-06-04 10:46:22
                            
                                432阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 使用Spring Boot和Redis实现延时队列
在实际应用程序开发中,延时队列是一个常见的需求。它可以用于处理需要在一定时间后才能被执行的任务,比如定时发送邮件、定时清理数据等。在本文中,我们将介绍如何使用Spring Boot和Redis来实现一个简单的延时队列。
## 什么是延时队列?
延时队列是一种特殊的队列,它允许在一定时间后才能取出或执行队列中的任务。通常,延时队列会根据任            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-07-07 04:24:09
                            
                                86阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。RabbitMQ是实现AMQP(高级消息队列协议)的消息中间件的一种,AMQP,即Advanced Message Queuing Protocol, 高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。在项目中,将一些无需即时返回且耗时的操作提取出来,进行了异步处理,而这            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-16 21:08:22
                            
                                120阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            一、初始配置1、导入maven坐标<!--rabbitmq-->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-amqp</artifactId>
                
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-22 16:56:02
                            
                                178阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            文章目录十三、SpringBoot与消息1、概述2、RabbitMQ<1>、简介<2>、运行机制(1)、AMQP中的消息路由(2)、Exchange<3>、使用RabbitMQ(1)、搭建RabbitMQ的环境(2)、创建Exchange交换机(3)、创建Queue消息队列(4)、关联(5)、测试<4>、整合RabbitMQ(1)、创建符合实验环境            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-15 16:33:26
                            
                                561阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            死信队列可以实现消息在未被正常消费的场景下,对这些消息进行其他处理,保证消息不会被丢弃。 # 概念: 消息会变成死信消息的场景:消息被(basi...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-03-25 10:31:47
                            
                                454阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            com.alibaba
 fastjson
 1.2.46
 org.springframework.boot
 spring-boot-starter-web
 org.springframework.boot
 spring-boot-starter-test
 test属性配置在 application.properties 文件中配置rabbitmq相关内容,值            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-26 09:51:11
                            
                                47阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            背景最近在对公司开发框架进行优化,框架内涉及到多处入库的日志记录,例如登录日志/操作日志/访问日志/业务执行日志,集成在业务代码中耦合度较高且占用业务操作执行时间,所以准备集成相关消息队列进行代码解耦方案规划现有的成熟消息队列组件非常多,例如RabbitMQ,ActiveMQ,Kafka等,考虑到业务并发量不高且框架已经应用于多个项目平稳运行,准备提供基于Redis的消息队列和集成ActiveMQ            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-18 14:13:23
                            
                                27阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            本文记录学习在Spring Boot中使用MQ。一 什么是MQ  MQ全称(Message Queue)又名消息队列,是一种异步通讯的中间件。它的作用类似于邮局,发信人(生产者)只需要将信(消息)交给邮局,然后由邮局再将信(消息)发送给具体的接收者(消费者),具体发送过程与时间发信人可以不关注,也不会影响发信人做其它事情。目前常见的MQ有activemq、kafka、rabbitmq、zeromq            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-09 01:52:11
                            
                                79阅读
                            
                                                                             
                 
                
                                
                    