
SpringBoot + RabbitMQ 如何解决死信队列问题
前言死信:无法被消费的消息,称为死信。如果死信一直留在队列中,会导致一直被消费,却从不消费成功。所以我们专门开辟了一个来存放死信的队列,叫死信队列(DLX,dead-letter-exchange)。死信的几种来源:1、消息 TTL 过期(time to live,存活时间,可以用在限时支付消息)2...
阅读全文前言死信:无法被消费的消息,称为死信。如果死信一直留在队列中,会导致一直被消费,却从不消费成功。所以我们专门开辟了一个来存放死信的队列,叫死信队列(DLX,dead-letter-exchange)。死信的几种来源:1、消息 TTL 过期(time to live,存活时间,可以用在限时支付消息)2...
阅读全文什么是恶意流量穿透假设我们的Redis里存有一组用户的注册email,以email作为Key存在,同时它对应着DB里的User表的部分字段。一般来说,一个合理的请求过来我们会先在Redis里判断这个用户是否是会员,因为从缓存里读数据返回快。如果这个会员在缓存中不存在那么我们会去DB中查询一下。现在试...
阅读全文无侵入式 统一返回JSON格式其实本没有没打算写这篇博客的,但还是要写一下写这篇博客的起因是因为,现在呆着的这家公司居然没有统一的API返回格式?,询问主管他居然告诉我用HTTP状态码就够用了(fxxk),天哪HTTP状态码真的够用吗?在仔细的阅读了项目源码后发现,在API请求的是居然没有业务异常(...
阅读全文Spring官方于2022年1月20日发布Spring Boot 3.0.0-M1版本,预示开启了Spring Boot 3.0的里程碑,相信这是通往下一代Spring框架的激动人心的旅程。接下来一起来看看Spring Boot 3.0.0-M1 版本都有哪些重大变化。Spring Boot 2.x...
阅读全文断言1、断言是一个逻辑判断,用于检查不应该发生的情况2、Assert 关键字在 JDK1.4 中引入,可通过 JVM 参数-enableassertions开启3、SpringBoot 中提供了 Assert 断言工具类,通常用于数据合法性检查要求参数object必须为非空(NotNull),否则抛...
阅读全文为防止打脸,先写明版本:spring boot 2.2.2.RELEASE一spring boot 中自带了一个轻量级的任务调度框架,使用也非常简单。添加注解@EnableScheduling,当然需要放在一个可以被扫描到的类上,比如启动类、使用了@Configuration的配置类。当然你要放在一...
阅读全文