OpenFeign 和 OkHttp 首次调用失败、重试成功的排查与优化业务服务通过 OpenFeign 调用用户与权限服务时,偶尔会出现一种比较特殊的现象:第一次请求发生 IOException
OkHttp 随后自动重试
第二次请求成功
接口最终仍然...
阅读全文...
门店分组树枚举统计接口 JVM 内存分配偏高的优化
门店分组树枚举统计接口 JVM 内存分配偏高的优化门店分组树需要展示每个分组字段下,各枚举值对应的门店数量。例如前端选择了门店状态、经营类型和门店版本,接口需要返回:符合当前查询条件的门店总数
每个分组字段包含哪些枚举值
每个枚举值对应多少家门店这个场景...
阅读全文...
阅读全文...
XXL-Job 中 @Transactional 失效导致 afterCommit 注册失败
XXL-Job 中 @Transactional 失效导致 afterCommit 注册失败这次事故来自一个凌晨执行的定时任务。表面现象是一条异常:java.lang.IllegalStateException: Transaction synchron...
阅读全文...
阅读全文...
一次批量循环调用分布式锁导致线程池队列告警的排查与复盘
一次批量循环调用分布式锁导致线程池队列告警的排查与复盘本文记录一次真实的后端性能问题:单任务完成接口增加分布式锁后,批量完成任务仍在循环中复用这个入口。每个任务都会经历加锁、注册续期任务、执行、取消续期和释放锁,最终触发线程池队列告警。这次问题表面上是线...
阅读全文...
阅读全文...
Spring 事务什么时候会被标记为 rollback-only
Spring 事务什么时候会被标记为 rollback-only先从一个订单创建场景开始。A 方法负责创建订单,带有 @Transactional。它调用 B 方法扣减库存,并且已经用 try-catch 捕获了 B 的异常:@Service
publi...
阅读全文...
阅读全文...
PolarDB 和 MySQL 同源,为什么同一条 SQL 仍会“索引失效”
PolarDB 和 MySQL 同源,为什么同一条 SQL 仍会“索引失效”最近遇到一个看起来很反常的问题。同一张表、同一个索引、同一条 SQL,在 MySQL 中执行时能够正常走索引,迁移到 PolarDB MySQL 版之后,却变成了全表扫描。第一反...
阅读全文...
阅读全文...
Typecho 博客部署
本文记录 Typecho 博客从容器构建、数据库接入、反向代理到 HTTPS 上线的完整流程,并整理部署过程中出现的问题及对应处理方式。1. 部署架构博客采用 Typecho 1.3.0,并使用 Butterfly 风格的 Typecho 主题。当前请求...
阅读全文...
阅读全文...