
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请求的是居然没有业务异常(...
阅读全文JWT介绍JWT概念JWT , 全写JSON Web Token, 是开放的行业标准RFC7591,用来实现端到端安全验证.简单来说, 就是通过一些算法对加密字符串和JSON对象之间进行加解密。JWT加密JSON,保存在客户端,不需要在服务端保存会话信息,可以应用在前后端分离的用户验证上,后端对前端...
阅读全文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),否则抛...
阅读全文