分布式任务调度:从 Cron 到 XXL-Job
定时任务在集群里重复执行就是事故。分布式任务调度:分片、路由、失败重试、动态配置——从单机 Cron 到 XXL-Job 的演进与实践。
定时任务在集群里重复执行就是事故。分布式任务调度:分片、路由、失败重试、动态配置——从单机 Cron 到 XXL-Job 的演进与实践。
MQ 的 at-least-once 投递意味着重复是常态。幂等三方案 + 顺序三场景,把消息系统的两个经典难题一次讲透,附生产代码。
缓存不是只有 Redis 一层:本地缓存(最快)、Redis(共享)、数据库(兜底)——多级缓存的架构设计、一致性、穿透防护与性能收益。
微服务最怕的不是故障,是故障的蔓延。熔断、限流、降级三件套怎么配、阈值怎么定、演练怎么做——Sentinel 在招聘平台的完整落地记录。
微服务都拆 Go 了,但存量 PHP 服务还得在 K8s 里活着。一个 Pod 里 PHP-FPM 并发调多少、Opcache 怎么预热、CPU 请求怎么配,这些细节决定了一个 Pod 能吃多少流量。
一条 SQL 从 3 秒到 5 毫秒的完整过程:慢查询定位、执行计划解读、索引设计原则、常见反模式——SQL 优化的实战手册。
context 是 Go 并发编程的’信号灯’:超时、取消、传值。但用错 context 反而制造泄漏。这篇文章是团队 context 规范,含官方建议和反模式。
先删缓存再写库还是先写库再删缓存?都有脏读窗口。GORM AfterSave 钩子里联动 Redis 双向清理,删缓存失败直接回滚 DB 事务——从机制上杜绝脏读,而不是靠概率。
穿透、击穿、雪崩是缓存系统的三大天敌,名字像但机制完全不同。空值缓存、互斥锁、随机过期、多级缓存——一套组合拳全防住。
用户点两次提交、重试机制重放、消息重复消费——接口被调两次,业务不能错两次。幂等键、唯一索引、状态机:接口幂等的完整设计。