老市区粿条汤与微服务的边界划分
汕头老市区有一家粿条汤,开了十五年。老板一个人,两口锅,一碗一碗地下。牛肉丸现捏,粿条现烫,汤底是一大锅牛骨熬的,从早到晚不断火。
单体 vs 微服务
我的 ERP 系统最初就是一个单体:一个 Express 后端,一个 React 前端,一个 PostgreSQL。就像这碗粿条汤——什么都在一口锅里,简单、直接、好吃。
后来功能越来越多:销售订单、采购管理、应收应付、利润报表、对账系统、操作日志、RBAC 权限……我没有拆微服务,因为我的用户就几个人,并发量一只手数得过来。微服务的分布式事务和链路追踪带来的复杂度,远不如一碗热乎的粿条来得实际。
边界在哪里
但我确实做了模块化:reportService、excelService、reconciliationService 各司其职。就像老板虽然一个人,但擀肉丸的案板、烫粿条的漏勺、舀汤的大勺——工具分得清清楚楚。
小马哥(粿条店老板)说:"一人店才要做减法,花活多了砸招牌。"他这十五年只做粿条汤,不做肠粉,不做炒粿。我理解的架构也是如此——小团队的系统,做好核心功能就是最好的设计。那碗粿条汤,吃完碗底是干净的。我希望我的代码也这样:不需要的东西不写,写完的逻辑删不掉。