老废物乐园 瓜子

精选置顶

每日一书 #001|《金钱心理学》:为什么"撑得住"比"算得准"重要

从今天起开一个固定栏目:每天读一本书,把里面的东西压缩到 20 分钟内读完,再写点自己的看法。方向是金融、AI、历史这三块——前两块是饭碗,最后一块是让人不至于把今年发生的事都看成世界末日。 第一本很适合开栏:《金钱心理学》(The Psychology of Money),摩根·豪泽尔。 它的核心

遥望星星 遥望星星 发布于 2026-08-30

最新文章

一次主从延迟导致的线上数据不一致

用户投诉:刚改完昵称又变回去了 那天下午客服转来 7 个工单,都是"改了资料刷新又回旧值"。我第一反应是缓存,清了一遍没用。查监控才发现,是主从延迟在作怪——前端查到了还没同步过去的旧数据。更诡异的是,有的用户反馈"改完看是对的,过两秒刷新又变回去",典型的读到了从库旧快照。 定位过程 用户在主库改

遥望星星 遥望星星 发布于 2022-12-04

Service Mesh 之 Istio 接入体验与代价评估

为什么想上 Mesh 团队有 30+ 微服务,TLS、重试、熔断这些逻辑散落在每个 Dubbo/Spring Cloud 应用里,升级一次 SDK 全员陪跑。一次熔断规则改版,光是让各服务升级 SDK 就花了两周,还有三个老服务因为没人维护迟迟不动。我们想试试把这部分下沉到基础设施,于是拉了一套 I

遥望星星 遥望星星 发布于 2022-11-23

Spring4Shell 漏洞应急响应与修复

周五下午的告警 2022-03-31 Spring4Shell(CVE-2022-22965)被公开,我们安全群里炸了。我负责的两个服务跑在 Spring Boot 2.3 上,得立刻确认是否在影响范围内。应急响应的第一步不是升级,而是确认影响面——盲目全量升级可能引入别的问题,先搞清楚"我中没中"

遥望星星 遥望星星 发布于 2022-11-20

Spring 事件驱动改造同步调用链

下单接口越来越慢 createOrder 接口 RT 一度到了 800ms,点进去一看,主链路里塞了发短信、记风控、推积分三件"顺带"的事。它们慢一点,用户下单就卡一下。最糟的是,积分服务抖动时连下单都失败了,核心链路被旁路拖死。监控里下单 RT 的 P99 曲线和积分服务的 RT 曲线几乎同涨同落

遥望星星 遥望星星 发布于 2022-11-19

Spring Cloud 微服务架构实战

Spring Cloud 微服务架构实战 Spring Cloud 为微服务架构提供了完整的解决方案,包括服务注册与发现、配置管理、服务治理等核心功能。 核心组件 Eureka - 服务注册与发现 基于 REST 的服务注册与发现 支持高可用部署 Config Server - 配置中心 集中管理微

遥望星星 遥望星星 发布于 2022-11-05

Sealed Class 密封类的使用场景

从一次支付状态建模说起 早些年写支付结果,我习惯用一个 enum 加一堆 if: enum PayStatus { SUCCESS, FAILED, PENDING, REFUNDED } void handle(PayStatus s) { if (s == SUCCESS) { ...

遥望星星 遥望星星 发布于 2022-10-24

一次系统重构:从 3000 行 Service 到清晰分层

那个 3000 行的 Service 接手交易核心模块时,OrderService.java 有 3128 行,下了 47 个 @Autowired 的 DAO 和远程 client。任何一处改动我都得屏住呼吸。上周一个改下单幂等的小需求,回归测试就跑了三轮,改动 8 行、提心吊胆一整天。更糟的是,

遥望星星 遥望星星 发布于 2022-10-24

Kafka 分区数与吞吐量的关系调优

一次奇怪的吞吐量瓶颈 大促前给订单流水 topic 扩分区,从 12 个加到 48 个,本以为吞吐能线性提升,结果生产端 P99 延迟不降反升,监控上看到 broker 端请求队列开始堆积。翻了半天才意识到:分区数过了拐点就是负担,不是越多越猛。 这事其实之前踩过一次。那回我们是 consumer

遥望星星 遥望星星 发布于 2022-10-22

JUnit 5 与测试容器 Testcontainers 集成测试

背景 上周联调一个订单状态机,本地用 Redis 做幂等缓存。单元测试里我习惯用 Mockito 把 RedisTemplate 整个 mock 掉,结果上线后在缓存过期那块直接炸了。mock 根本没覆盖 TTL 和原子自增的真实语义,自测全绿却带着隐患上了线。 复盘那次事故,根因是我们对"缓存是否

遥望星星 遥望星星 发布于 2022-10-11

Spring Security 6 配置变更与 OAuth2 接入

准备升级 Spring Security 6:配置风格全变了 Spring Security 6.0 要在 2022 年 11 月随 Spring Boot 3.0 一起 GA,但我们不想等上线了再手忙脚乱。10 月初我就拉了 6.0 的候选版本做预研,最大的冲击是:WebSecurityConfi

遥望星星 遥望星星 发布于 2022-10-01

DDD 聚合设计实战:从订单系统说起

订单系统重构:一个"订单"对象膨胀到了 3000 行 我们老订单系统里有个 Order 类,承载了下单、改地址、退款、发票、物流查询……所有逻辑,文件 3000 多行,改一处怕动全身。重构时我用 DDD 的聚合(Aggregate)思想重新切分,核心问题其实就一个:聚合边界划在哪。划错了,要么事务跨

遥望星星 遥望星星 发布于 2022-09-29

文本块 Text Block 写 SQL 与 JSON 的正确姿势

一段 SQL 在 Java 里换行,我存成了诡异的格式 前几天 Code Review,看到有人拼一条多行 SQL 用了老套路: String sql = "SELECT id, name, price FROM product " + "WHERE category = ? AND

遥望星星 遥望星星 发布于 2022-09-23

Redis 缓存一致性终极方案:订阅 Binlog 更新

缓存和数据库又双叒不一致了 我们的商品详情页用"先更新 DB,再删缓存"的策略。大多数时候没问题,但运营一次批量改价后,部分用户看到的价格还是旧的,持续了十几分钟。根因是并发下的时序问题:线程 A 更新 DB、还没删缓存时,线程 B 读了旧 DB 值并写回缓存,导致 A 的删除"删了个寂寞",脏数据

遥望星星 遥望星星 发布于 2022-09-19

Spring Boot 3.0 与 Spring 6 迁移实战记录

提前迁移 Spring Boot 3.0:踩在 GA 前的准备 Spring Boot 3.0 要在 2022 年 11 月正式 GA,但我司有几个新服务打算直接基于 3.0 起项目,不想上线半年就面临大版本升级。于是我在 9 月就基于3.0 的里程碑/RC 候选版本做了一次迁移验证,把要改的点摸了

遥望星星 遥望星星 发布于 2022-09-11

高并发秒杀系统的设计要点

面试官问:100 万人抢 1000 件商品怎么设计 前阵子做架构分享,被同事用一道经典题考住:"100 万并发抢 1000 件商品,怎么保证不超卖、系统还不挂?"这题看着老,但真要落地,每一层都有坑。我把我们实际做过的秒杀系统的设计要点拆开讲——不是教科书,是踩过坑的版本。 要点一:库存扣减,必须原

遥望星星 遥望星星 发布于 2022-08-29