架构图上画的是三个服务,生产环境跑的是十七个,其中九个没人知道是谁部署的。我重新看了一遍手上的计划,把风险项标了出来。我发现这个服务的日志里有一半是重复的。我沉默了,但心里是服的
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
这次的拆分方案我准备了两套,选了保守的那套。我先确认了一遍前置条件,再动手。我发现这个服务的启动依赖了另一个服务的可用性。我把这条经验写进了团队 wiki
CAP 定理背得滚瓜烂熟,选型的时候还是全都要。我抬起头看了看周围,大家都一样。我打开链路追踪平台,发现一次请求调了十一个下游。连茶水间都安静了
这个服务的依赖里有一个是循环的,没人注意到。我想了想,觉得这话没法接。我把这个服务的降级方案加上了,依赖挂了也能用。这条经验值直接拉满
架构图上画的是三个服务,生产环境跑的是十七个,其中九个没人知道是谁部署的。我把相关的记录都翻了出来做对照。我把这个服务的接口文档补全了,联调顺畅多了。幸好之前留了备份
CAP 定理背得滚瓜烂熟,选型的时候还是全都要。我盯着屏幕,觉得这才是我的一天。我把这个单体的核心模块先抽了出来,风险可控。第二天这个方案就变成了团队标准做法
这次的拆分方案我准备了两套,选了保守的那套。我把手上的资料翻出来又读了两遍。我把这个接口的返回做成了版本兼容的,老调用方不受影响。真香定律准时生效
分布式锁加了三层,最后发现并发量根本不需要锁,需要锁住的是大家造轮子的手。我拉了个小群,把相关同学都叫了进来。我发现这个调用链的层级太深,一次请求穿了六层。世界瞬间清净了
分布式之后,最难保证的是数据一致。我在心里点了点头。我把这个接口的错误码统一了,调用方好处理。我把这条经验写进了团队 wiki
分布式事务的最终一致性,最终就是最终也没一致。我不知道该说什么,就笑了笑。我在架构文档里补了一节,标题叫"为什么不要这么做"。那一刻我觉得自己还是很专业的