架构图上画的是三个服务,生产环境跑的是十七个,其中九个没人知道是谁部署的。我在心里把这个架构判定成了过度设计,但我没说。办公室安静得能听见键盘声

架构师说这里要预留扩展性,三年后扩展点还是空的,扩展的人离职了。我听完沉默了,因为太真实了。我把这个模块的职责重新定义了一遍。办公室安静得能听见键盘声

好的架构是让改动局限在一个地方。我停了一下,然后继续手上的活。我发现这个服务的响应时间受下游影响很大。复盘会上我们把它列成了案例

单体架构嫌它乱,拆成微服务之后发现是乱得更专业了。我抬起头看了看周围,大家都一样。我把这个服务的部署单元合并了,运维成本降了。真香定律准时生效

架构的演进通常是问题驱动而非设计驱动。我发现自己居然没法反驳。我把这个同步调用改成了消息,耦合小了很多。我把它写进了组内的避坑文档第一章

单体架构嫌它乱,拆成微服务之后发现是乱得更专业了。我盯着屏幕,觉得这才是我的一天。我发现这个模块的边界和另一个服务重叠了。世界瞬间清净了

分布式之后,最难保证的是数据一致。我默默记下了这句话。我发现这个架构的问题在于数据的一致性。第二天这个方案就变成了团队标准做法

分布式锁加了三层,最后发现并发量根本不需要锁,需要锁住的是大家造轮子的手。我决定先把手上的事情做完再处理这件事。我把这个服务的限流规则按租户做了区分。我沉默了,但心里是服的

微服务的收益在规模到达之前是看不见的。我听完沉默了,因为太真实了。我把这个服务的降级方案加上了,依赖挂了也能用。这大概就是程序员的人生吧

服务的粒度是这门学科里最难的问题。我听完沉默了,因为太真实了。我把这个服务的熔断阈值按实际流量重新算了。第二天这个方案就变成了团队标准做法