配速记页 07-cloudnative 使用。这是你 Spring Boot 经验最密集的领域,本页帮你把「会用」升级为「能论证」。
绕不开的康威定律:系统架构必然复刻组织沟通结构。三个团队写一个 monolith,模块边界会自然长在团队边界上;反过来,逆康威操作:先按业务能力设计服务边界,再组建匹配的团队——微服务的完整理念其实是「组织设计先行」。
Amazon 的「两个披萨团队」不是福利,是架构决策:小团队 + 服务自治 = 沟通成本内部化,接口(API)替代跨团队会议。微服务买到的最贵的东西不是技术解耦,是「发布权下放」:各团队独立上线,发布列车从「全公司协调」变成「团队内决策」。迭代速度就是这么来的。
分布式单体是最坏的形态:拆了服务却共享数据库、同步链式调用,分布式的事故模式 + 单体的发布耦合,两头代价全占。案例题给「拆分过度/边界错误」的场景,往这里答。
可用性问题只有一种正确问法:这个变更谁负责? 需要两个团队同时改的边界 = 错误边界。
(数据库模块已讲 2PC/TCC/Saga,这里补「怎么选」的决策树)
第一代微服务治理(Spring Cloud/Netflix OSS)把重试、熔断、发现做进业务进程的 SDK——问题是 Java 独占(多语言团队没法用)+ 升级要重发全量业务。 第二代(K8s + Service Mesh)把治理下沉到平台层:K8s 管部署/扩缩/自愈(控制面 etcd + controller 的声明式收敛),Sidecar(Envoy)管流量治理——业务容器只剩业务。 你的技术栈对照:Nacos→K8s Service/自定义 operator、Sentinel→Istio 流量规则、Sleuth→Jeager/Tempo 全链路。「SDK 治理」到「Mesh 治理」是考试和论文都爱考的演进叙事。
声明式的本质:命令式(「执行滚动更新」)vs 声明式(「终态是 3 副本 v2」+ 控制器不断对比收敛)。声明式让「调谐循环」自动修复漂移——服务器重启后配置不漂移,就是不可变基础设施 + 声明控制面的组合拳。
容器(打包标准化)→ K8s(调度标准化)→ CI/CD+DevOps(交付标准化)→ Mesh(治理标准化)→ Serverless(抽象极致化:按请求付费、无容量规划,代价是冷启动与厂商锁定)。 每往上一层,「运维心智」减少一分,「平台依赖」增加一分——云原生不是免费的午餐,是把固定成本换成可变成本。
公式化但有效的论文骨架:
第 3 段「踩坑」是拉开论文档次的关键——没有完美的架构落地,写权衡与修正才是真实可信的架构师叙事。