avatar
文章
148
标签
23
分类
3
首页
归档
标签
分类
留言
关于
Jing's Blog
搜索
首页
归档
标签
分类
留言
关于

Jing's Blog

消息重复消费和幂等处理
发表于2025-12-15|开发调优
这篇按踩坑笔记来写,因为 消息重复消费和幂等处理 我现在更容易记住“错在哪”,而不是“定义长什么样”。 先记住这句话消费者必须假设消息可能重复到达。 很多问题不是不会用,而是用得太顺手了,顺手到把边界条件给省掉了。 这类问题一般怎么出现我脑子里会先放这个场景:用订单号和消息类型做消费记录表。 一开始看着都像是个小问题,真正麻烦的是它往往不是立刻报错,而是跑一阵子、数据一多、并发一上来才暴露。 这次我想盯住的坑 用业务唯一键去重 数...
MQ 为什么能削峰,但不能解决所有问题
发表于2025-12-06|开发调优
这篇按踩坑笔记来写,因为 MQ 为什么能削峰,但不能解决所有问题 我现在更容易记住“错在哪”,而不是“定义长什么样”。 先记住这句话消息队列把同步压力转成异步处理,但增加最终一致性复杂度。 很多问题不是不会用,而是用得太顺手了,顺手到把边界条件给省掉了。 这类问题一般怎么出现我脑子里会先放这个场景:把下单后的积分发放改成异步消息。 一开始看着都像是个小问题,真正麻烦的是它往往不是立刻报错,而是跑一阵子、数据一多、并发一上来才暴露。...
分布式锁应该注意哪些边界
发表于2025-11-30|开发调优
今天把 分布式锁应该注意哪些边界 补成一篇正常一点的学习笔记,不写大而全,就记我这轮最想吃透的部分。 一句话先立住锁只解决互斥,不自动保证业务正确。 我这次真正记住的点 锁要有过期时间 释放锁要校验持有者 业务执行超时要考虑续期或失败 为什么我会专门记这块因为它很容易出现一种错觉:看资料的时候觉得自己会了,真到写接口、改 SQL、配事务、看线程池参数时又开始发虚。 我现在尽量把知识点挂到一个具体场景上:用 Redis 锁保护优惠...
Redis 过期时间设置的几个细节
发表于2025-11-30|开发调优
今天不想写长文,先把 Redis 过期时间设置的几个细节 这块拆成几条短一点的问答。面试里经常会被连续追问,如果只背一句定义,第二问基本就卡住了。 先说我自己的结论过期时间既影响命中率,也影响系统压力曲线。 我现在会先把这类题分成“定义是什么、为什么这样设计、代码里怎么用、容易翻车在哪”四层去答。这样比死背一段话稳很多。 快问快答 热点 key 过期要错开。我现在的理解:先记结论,再回到代码里找一个能验证它的场景。 永久 key ...
缓存一致性不能只靠删除缓存
发表于2025-11-26|开发调优
这篇我想按“排查记录”来写,主题是 缓存一致性不能只靠删除缓存。这种写法比纯概念文更适合我自己回看。 现象先别急着解释缓存一致性要结合读写路径、失败重试和容忍时间。 先把现象钉住,比急着下结论有用。很多时候真正的关键不是“答案是什么”,而是“我是怎么一步步排到这里的”。 我会先看哪几件事 先更新数据库再删缓存是常见选择 删除失败要补偿 强一致场景不要轻易加缓存 带入一个排查场景设计商品价格更新后的缓存删除和消息补偿。 如果这是线...
缓存穿透、击穿、雪崩重新整理
发表于2025-11-18|开发调优
这篇按踩坑笔记来写,因为 缓存穿透、击穿、雪崩重新整理 我现在更容易记住“错在哪”,而不是“定义长什么样”。 先记住这句话三个问题都表现为压力打到数据库,但成因不同。 很多问题不是不会用,而是用得太顺手了,顺手到把边界条件给省掉了。 这类问题一般怎么出现我脑子里会先放这个场景:给商品详情缓存加空值缓存、互斥重建和随机过期。 一开始看着都像是个小问题,真正麻烦的是它往往不是立刻报错,而是跑一阵子、数据一多、并发一上来才暴露。 这次我...
Redis 常用数据结构和适用场景
发表于2025-11-15|开发调优
今天不想写长文,先把 Redis 常用数据结构和适用场景 这块拆成几条短一点的问答。面试里经常会被连续追问,如果只背一句定义,第二问基本就卡住了。 先说我自己的结论先按访问模式选结构,再谈命令。 我现在会先把这类题分成“定义是什么、为什么这样设计、代码里怎么用、容易翻车在哪”四层去答。这样比死背一段话稳很多。 快问快答 String 适合简单缓存和计数。我现在的理解:先记结论,再回到代码里找一个能验证它的场景。 Hash 适合对象...
数据库字段设计的一些小原则
发表于2025-11-08|开发调优
今天把 数据库字段设计的一些小原则 补成一篇正常一点的学习笔记,不写大而全,就记我这轮最想吃透的部分。 一句话先立住字段设计要让约束、含义和演进成本清晰。 我这次真正记住的点 字段名表达业务含义 状态字段要有枚举约束 金额和时间类型要统一 保留审计字段 为什么我会专门记这块因为它很容易出现一种错觉:看资料的时候觉得自己会了,真到写接口、改 SQL、配事务、看线程池参数时又开始发虚。 我现在尽量把知识点挂到一个具体场景上:设计一张...
1…111213…19
avatar
Jing
软件开发工程师,记录技术、项目和排障经验。
文章
148
标签
23
分类
3
最新文章
从一次接口超时看后端排查顺序2026-07-08
日志不是越多越好2026-07-08
接口返回值要为前端留出判断空间2026-07-08
DTO 和 Entity 之间应该有边界2026-07-08
缓存一致性要先讲业务容忍度2026-07-08
分类
  • 开发调优94
  • 技术分享23
  • 杂七杂八31
归档
  • 七月 2026 39
  • 六月 2026 16
  • 五月 2026 6
  • 四月 2026 7
  • 三月 2026 6
  • 二月 2026 4
  • 一月 2026 7
  • 十二月 2025 5
© 2026 By Jing框架 Hexo 7.3.0|主题 Butterfly 5.5.5
保持记录,持续复盘。
搜索
数据加载中