现代架构下的全栈边界

核心观点

微服务、BFF 和微前端建立了更小、更明确的独立交付边界,却让传统贯穿前端、后端和数据库的“全栈”不再对应一个自然交付单元。

全栈程序员的传统含义,是开发者沿着技术栈方向理解前端、后端、数据库和部署等主要技术点。但在微服务、BFF、微前端等架构风格下,系统被拆成多个可以独立演进和发布的交付边界,API 又将前台体验与后台业务能力分离,原来“从前到后一整条栈”不再对应一个自然交付单元。

这让 Full Stack 出现两种都不稳定的解释:

  • 如果“全”指贯穿客户端、BFF、多个微服务、数据、安全和发布链路,范围会跨越多个独立责任边界,难以成为稳定个人角色。
  • 如果“全”只指某个组件内部覆盖更多技术,边界虽然可以列举,却没有统一阈值说明何时才算全,也难以与组件开发者区分。

AI 可以降低查资料、生成代码和跨层调试的成本,让“组件内全栈”更可行,但它改变的是执行成本,不会自动消除交付边界、接口契约和责任边界。换言之,清楚的是系统的交付边界,不清楚的是“全栈”的判定边界。

⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠ You can decompress Drawing data with the command palette: ‘Decompress current Excalidraw file’. For more info check in plugin settings under ‘Saving’

Excalidraw Data

Text Elements

交付边界清楚,“全”没有共同刻度

DEV

CLIENT

UI
React · Vue · Angular

Agent
LangGraph · AutoGen · CrewAI

BFF

BFF API
NestJS · Express · Fastify

User Journeys
XState · Temporal · Camunda

API Client
Apollo · Axios · gRPC

BUSINESS SERVICE

API
Spring Boot · Quarkus · Micronaut

Capabilities
Java · Kotlin · Go

Database
PostgreSQL · MongoDB · Redis

AI

AI:伸得更远 ≠ 有了终点

?

Full Stack?

Embedded Files

5c9202804565413ab3f4cc6c915f61aeabc79f62: Icon - 界面, 前端, 网页, 浏览器, 笔记本, 技术层, 模块, UI - ACNH.excalidraw

f6ffc8730f43ad5905052ecb7bbe12fb00710b1b: Icon - AI, 人工智能, 机器人, 智能体, 自动化, 角色, 参与方, smart toy - ACNH.excalidraw

23eb3736daeff34312c647fc1562166153d4147e: Icon - 插头, 电源线, 连接, 接口, 接点, API, plug, power cable - Flaticon.excalidraw

c81efe63b89cc3f88180d4503dd3dac2aa04fcdc: Icon - 产品, 设计, 工具, 尺子, 笔, 角色, 参与方, product - ACNH.excalidraw

f02d9c898538f0116fd25ad61a9313ae310c59f1: Icon - 工程, 开发, 代码, 电脑, 编程, 角色, 参与方, engineering - ACNH.excalidraw

81361af5541100b42037355db21393af07f7bb4f: Icon - 接口, 连接, 交换, 后端, 服务, 齿轮, 技术层, API - Flaticon.excalidraw

8362129c213b3c6f2a7f077355abbcebfb223e35: Icon - 业务, 商业, 公文包, 角色, 参与方, business, briefcase, role - ACNH.excalidraw

a2f0e8f4ef4d11b7e3ba2d0f9798215ab97d99bf: Icon - 数据库, 数据, 存储, 服务器, 机柜, 技术层, database, data - ACNH.excalidraw

372ebd9f5dc08a2ce8af35e2461560647e432cc8: Icon - 梯子, 竖梯, 横档, 攀登, 层级, 技术栈, 局部范围, 拼接 - ACNH.excalidraw

15802c8f463a2832ab8dec2e3cb75f4bc1e4f336: Icon - 摊手, 人物, 双手, 无奈, 不知道, 选择, 权衡, shrug - Flaticon.excalidraw

4af84098158c3b5adcdab3b569ba90830d8580b7: Icon - 困惑, 疑惑, 问号, 气泡, 反应, 好奇, 不确定, Curiosity - Flaticon.excalidraw