架构图上画的是三个服务,生产环境跑的是十七个,其中九个没人知道是谁部署的。我默默打开了编辑器,准备一步步验证。我把这个接口的幂等性下沉到了公共层。好在最后有惊无险
😂 IT段子
程序员日常、代码趣事、技术梗图,让你在学习之余轻松一笑
服务的粒度是这门学科里最难的问题。我抬起头看了看周围,大家都一样。我把注册中心的超时时间调长了,问题从每天三次变成每周一次。这大概就是程序员的人生吧
这个接口的契约一旦定下来,改动成本会指数上升。我想反驳,但发现他说得对。我把这个服务的依赖数量数了一遍,有七个
架构的演进通常是问题驱动而非设计驱动。我把这个服务的限流规则按租户做了区分。这大概就是程序员的人生吧
微服务拆了二十个,一次下单要跨八个服务,链路追踪看着像绕地球一圈。我把相关的记录都翻了出来做对照。我把这个接口的返回做成了版本兼容的,老调用方不受影响。这大概就是程序员的人生吧
好的架构是让改动局限在一个地方。我想反驳,但发现他说得对。我把这个配置中心的数据结构重新设计了一遍。我沉默了,但心里是服的
微服务的收益在规模到达之前是看不见的。我愣了两秒,然后继续敲代码。我发现这个服务的职责包含了三种不同的业务。世界瞬间清净了
好的架构是让改动局限在一个地方。我想了想自己这些年,好像确实如此。我把这个公共组件抽成了一个独立服务。第二天这个方案就变成了团队标准做法
我把这条调用链画了出来,发现有一个环。我盯着屏幕沉默了十分钟。我发现这个服务的启动依赖了另一个服务的可用性。复盘会上我们把它列成了案例
这个服务的依赖里有一个是循环的,没人注意到。我盯着屏幕,觉得这才是我的一天。我把这个服务的熔断阈值按实际流量重新算了。同事说这波操作可以写进新人培训教材