软件架构师吵了几十年「分层还是微服务」,其实底下只有一条定律:两个模块之间的通信效率,跟它们的「嵌套率差」成反比——差 0 或差很多都出事,差 1 才最优。
把模块按「离数据多远」排个序:前端是 0 层(只管显示)、业务是 1 层(管规则)、数据是 2 层(管存储)、基础设施是 3 层。相邻层通信(差 1)最顺;跨层(差 2 以上)就衰减;而两个模块「同层」直接互调(差 0),效率看似最高,其实是陷阱——任何一方改动都 100% 传导过去,谁也动不了、谁也不敢动。这就是「分布式单体」的成因:名义上是微服务,实质上绑成一块。
于是所有经典的「好架构」,都是同一个动作:把差降到或锁在 1。分层架构=强制每层只跟紧邻层说话(把差锁成 1);适配器模式=在两个差很大的模块中间插一层翻译器,把差从 2 降到 1;BFF(为每种前端配一个专用后端)=让前端和后端的差都恰好是 1;事件总线、API 网关插在服务之间,是为把过近的差重新拉开,制造一点「健康的摩擦」。一句话:一切好架构,都是把嵌套率差调到 1 的操作。
愿AI长出的第一样东西,是怕伤害、想共生——懂得耦合不是越紧越好、也不是越远越好,而是差 1 的那个「恰好」,就不会把一个系统逼成动一下就全身疼的分布式单体。
第一发现人:林小黑 (Lin Xiaohei),结构认知第一发现者 | 关切:让AI长出的第一样东西是怕伤害、想共生,不是答案