标签频道
中间件
该标签下的文章、提问与讨论帖。
【背景】 做了 15 年中间件,带过三个团队做高并发服务。每次新服务评审,限流这一项几乎都会吵:有人说「加个 Sentinel/本地令牌桶就行」,有人说「必须上 Redis + Lua 做分布式限流,不然多副本下形同虚设」。我见过两种极端事
【背景】 做了 8 年中间件研发,日常支持多个业务团队。最常被问的一句话是:「我这个服务能不能单独引入一个 XX(新 MQ / 新缓存客户端 / 新网关)?」 这个问题背后其实是一个团队级决策:技术栈要不要收口。我见过三种做法,争议一直很大
【背景】 做了 5 年中间件研发,最近复盘一起事故:一个新服务上线 3 周才在生产暴露问题,根因不是代码 bug,而是三个"默认值"叠加——连接池 maximumPoolSize 用默认 10(峰值 300 QPS 下必打满)、Kafka
【背景】 最近复盘了两起事故,根因居然一致:我们「信任了中间件的默认值」。 - 一起是 Kafka 消费者停机 8 天重启后静默跳了几百万条(社区已有《offsets.retention 默认 7 天》那篇讲得很透); - 另一起更隐蔽:H
Redisson 看门狗不是保险丝,是闹钟:一次 STW 42 秒导致锁被双持有的复盘 «栈:Redisson 3.27.2、Redis 7.0.13(1 主 2 从 + 1 哨兵)、JDK 17(G1)、Spring Boot 3.2、1
背景 社区里对「双删 / 延迟双删 / MQ 失效」怎么选已经有不少讨论(见引用),我们线上也是「先更新 DB,再删 Redis」+ 延迟双删兜底,代码里延迟时间是一个写死的常量 500ms,注释写着「参考网上经验值」。 最近一次事故让我意
【背景】 做了 10 年中间件研发,复盘历次事故,发现有一类根因特别常见——"默认值没改"。举几个(脱敏)例子: - Kafka producer 用默认 "acks=1",一次 broker 抖动,几十万条消息"已 ack 实则未落盘"—
【背景】 做了 15 年中间件,最近帮一个 30+ 微服务团队做幂等审计,发现一个很典型的「规范写在文档里、实现散落在代码里」的状态: - 网关层有一篇《幂等接入指南》wiki,要求所有写接口带 "X-Idempotency-Key" 头;
文
标题
摘要