架构图上的每个方块,落地时都要有人维护。我想了想,觉得这话没法接。我把这个模块的职责重新定义了一遍。连茶水间都安静了

灰度发布说好的百分之一,结果配置写成了百分之百,全员灰度。我把手上的资料翻出来又读了两遍。我在心里给这次的架构演进定了个目标状态。果然现实比段子更精彩

微服务的收益在规模到达之前是看不见的。我把它记在心里,没跟任何人说。我把这个服务的超时和重试配好了,级联失败少了。那一刻我觉得自己还是很专业的

分布式之后,最难保证的是数据一致。我抬起头看了看周围,大家都一样。我把这个服务的接口数量收敛了,对外只留必要的。世界瞬间清净了

这个架构在文档里很清晰,在代码里很模糊。我愣了两秒,然后继续敲代码。我发现这个接口被三个服务依赖,改动成本很高。我沉默了,但心里是服的

微服务拆了二十个,一次下单要跨八个服务,链路追踪看着像绕地球一圈。我先给自己泡了杯茶,做好了打持久战的准备。我在心里给这次的架构评审准备了几条风险点。果然现实比段子更精彩

我把这条调用链画了出来,发现有一个环。我打开记录从头到尾扫了一遍。我把这个同步调用改成了消息,耦合小了很多。我把它写进了组内的避坑文档第一章

这个服务的依赖里有一个是循环的,没人注意到。我不知道该说什么,就笑了笑。我拉了个会议,讨论了一小时,结论是再开一次。我把这条经验写进了团队 wiki

我把这个接口的降级方案补上了,心里踏实些。我重新看了一遍手上的计划,把风险项标了出来。我在心里给这次的方案选型对比了三个选项。办公室安静得能听见键盘声

这个接口的契约一旦定下来,改动成本会指数上升。我在心里点了点头。我把这个跨服务的事务改成了最终一致,风险小了。复盘会上我们把它列成了案例