架构评审会上大家都说"这个设计挺好的",散会后群里炸出了四十条反对意见。我重新看了一遍手上的计划,把风险项标了出来。我在心里给这次的技术选型排了个优先级。复盘会上我们把它列成了案例

灰度发布说好的百分之一,结果配置写成了百分之百,全员灰度。我在心里把涉及的所有环节都过了一遍。我把这个接口的幂等性下沉到了公共层。这大概就是程序员的人生吧

消息队列是解耦神器,也是事故甩锅神器:消息丢了算谁的?我发现自己居然没法反驳。我发现这个服务的响应时间受下游影响很大。从此我多了一条团队规约

这个系统的容量规划和实际流量差了一个量级。我忽然觉得,这可能就是这一行的常态。我发现这个服务的日志里有一半是重复的。这大概就是程序员的人生吧

服务的粒度是这门学科里最难的问题。我笑了笑,决定不解释。我把这个服务的接口文档补全了,联调顺畅多了。我把这条经验写进了团队 wiki

这个系统的容量规划和实际流量差了一个量级。我在心里给这次的方案准备了两套备选。世界瞬间清净了

好的架构是让改动局限在一个地方。我停了一下,然后继续手上的活。我把这个配置中心的数据结构重新设计了一遍。世界瞬间清净了

单体架构嫌它乱,拆成微服务之后发现是乱得更专业了。我想反驳,但发现他说得对。我把这个网关的路由规则精简了一遍,清晰多了。复盘会上我们把它列成了案例

这个接口的契约一旦定下来,改动成本会指数上升。我在心里给这次的架构演进定了个目标状态

单体架构嫌它乱,拆成微服务之后发现是乱得更专业了。我想了想自己这些年,好像确实如此。我默默把服务数量从二十个合并回了七个。连茶水间都安静了