同事的问题:我加了 @Cacheable,为什么没生效 上周三下午,组里的小杨问我:"我在方法上加了 @Cacheable,压了 100 次,数据库慢查询日志里还是 100 条,Redis 里也看不到 key,是不是缓存没配好?" 我过去看了一眼他的代码: @Service public class
现象:发布到 K8s 之后 Pod 一直在重启 周一上午发了个小版本,只改了几行。结果 K8s 里这个 Pod 一直 CrashLoopBackOff,被杀了五次。 $ kubectl get pod -n prod | grep order order-service-7d9f8b6c5-x2m4
升级到 2.4,服务起不来了 6 月初,把一个服务从 Spring Boot 2.3.7 升到 2.4.6。改完 pom 里的版本号,启动,直接炸: *************************** APPLICATION FAILED TO START *******************
新同事接手网关,问我的第一个问题:Predicate 和 Filter 到底啥区别 上周把网关交给组里另一个同学维护。他看了半天配置问我:predicates 和 filters 都是配在 route 下面的,凭什么一个叫断言、一个叫过滤器,它们分别什么时候执行? 这个问题挺好,我当年也绕了一阵。这
周会上定的事:6 周内把 Netflix 那一套换成 Alibaba 3 月底的架构周会,我把一张图投到了屏幕上:Spring Cloud Netflix 的组件里,Hystrix、Zuul 1.x、Ribbon、Archaius、Turbine 五个都挂着"maintenance mode"或者干
改了 Nacos 配置页面,服务怎么没反应 "我把限流阈值从 500 改成 200 了,Nacos 上点了发布,等了五分钟还是没生效。" 这是组内被问过最多的一个问题,我自己也卡过。Nacos 同时做注册中心和配置中心,但这两块的机制完全不同——注册是实时的,配置热更新是有条件的。这篇把我们落地 N
Seata AT 模式上线两周,我们踩了七个坑 订单库拆出去之后,"创建订单"和"扣减库存"就不再同一个数据库事务里了。以前靠一个 @Transactional 保证的事,现在要跨两个服务两个库。 3 月底到 4 月,我用 Seata 1.1.0 把这条链路补上了。这篇记一下选型过程、AT 模式到底
压测时 Hystrix 的线程切换吃掉 1.4 毫秒,我们换成了 Sentinel 3 月做秒杀压测,QPS 压到 3000 的时候就上不去了。抓了一次火焰图,发现热点不在业务代码,在 HystrixThreadPool 的线程调度上。 我们订单服务上挂了 11 个 @HystrixCommand,
标了 @Scope("prototype"),为什么拿到的还是同一个对象 3 月上旬,同事遇到个怪事。他写了个导出 Excel 的任务类,因为里面有状态(当前行号、样式缓存),标成了多例: @Component @Scope("prototype") public class ExcelExport
群里有人问:ReadTimeout 配了 5 秒,为什么 1 秒就超时 那天下午,新来的同事在企业微信群里贴了一段配置和一段报错: ribbon: ConnectTimeout: 3000 ReadTimeout: 5000 com.netflix.hystrix.exception.Hy