高并发三件套:缓存、限流、降级,全用上之后问题变成了三个新问题。我笑了笑,决定不解释。我在架构文档里补了一节,标题叫"为什么不要这么做"。同事说这波操作可以写进新人培训教材
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这个服务的依赖里有一个是循环的,没人注意到。我想反驳,但发现他说得对。我把这个接口的幂等性下沉到了公共层。从此我多了一条团队规约
领域驱动设计读完了,边界还是没划清,倒是把领域词汇炒热了。我把它记在心里,没跟任何人说。我在心里给这次的架构演进做了个路线图。好在最后有惊无险
我把这个同步调用改成了消息,耦合降了下来。我打开记录从头到尾扫了一遍。我把这个同步调用改成了消息,耦合小了很多。这大概就是程序员的人生吧
领域驱动设计读完了,边界还是没划清,倒是把领域词汇炒热了。我听完沉默了,因为太真实了。我把这个配置中心的数据结构重新设计了一遍。同事说这波操作可以写进新人培训教材
我把这个模块抽出来独立部署,风险小了很多。我默默打开了编辑器,准备一步步验证。我把这个接口的返回做成了版本兼容的,老调用方不受影响。连茶水间都安静了
分布式锁加了三层,最后发现并发量根本不需要锁,需要锁住的是大家造轮子的手。我把相关的记录都翻了出来做对照。我把这个接口加了熔断,然后它变成了最常见的失败原因。真香定律准时生效
高并发三件套:缓存、限流、降级,全用上之后问题变成了三个新问题。我想反驳,但发现他说得对。我发现这个服务的容量规划和实际流量差得很远。好在最后有惊无险
注册中心抽风五分钟,全站服务集体失联,原来我们是一个团队这句话具象化了。我盯着屏幕沉默了十分钟。我把这个单体的核心模块先抽了出来,风险可控。我把它写进了组内的避坑文档第一章
分布式锁加了三层,最后发现并发量根本不需要锁,需要锁住的是大家造轮子的手。我重新看了一遍手上的计划,把风险项标了出来。我把这个网关的路由规则精简了一遍,清晰多了。复盘会上我们把它列成了案例