摘要:全册收尾,把前面的判断汇总成一套"出院装备":怎么给服务挑技术栈、云原生与 Serverless 什么时候该上、以及一堆高频反模式你怎么一眼认出绕开。这不是一份清单式答案,而是一套"面对新场景还会用"的判断框架。
前面每一章都在讲"怎么拆、怎么建、怎么养"。这一节把视野拉远,回答一个"出院之后一直会追问"的大问题:面对一个新的服务、一个新的业务,我手里的技术池应该怎么用,才不重蹈覆辙?
技术选型被拍脑袋的比例高得惊人——"听说这框架火,用!"。这里给一套不拍脑袋的办法,分三层判断:

微服务确实该"技术自由",但自由的正确用法是有边界的收敛:同一个团队、同一个域内尽量用一致的少数技术栈,只在"某个服务真的需要不同技术才能更好"时才引入新成员。否则四面八方开花,最后是运维、招聘、人才三头受气。
把话说到底:容器与编排(第 5 章)+ 服务网格 + 平台工程,合起来叫云原生,它把"我怎么养服务"进一步平台化、声明化,让开发者更专注业务。Serverless 是更高阶的一条路——连"服务器/实例"这个心智都省了,函数按事件触发、按调用计费,冷启动换免运维。
它俩该什么时候上?判断只有一条:你的团队是否已承担得起那份抽象的成本。
| 形态 | 心智负担 | 适合 | 代价 |
|---|---|---|---|
| 单体优先 | 最低 | 中小系统、起步 | 老了要拆 |
| 容器+编排 | 中 | 多数微服务团队 | 平台门槛高 |
| Serverless | 低(免运维) | 事件触发、峰值无规律、函数化 | 冷启动/厂商绑定/调试难 |
务实建议:Serverless 挑"真正事件化、峰值无规律、无状态"的环节用(比如回调处理、图片转码、消息消费),核心强一致业务还是放有状态的普通服务上让团队掌控。别为了"最潮"把核心链路整个丢进无服务器,冷启动和绑定风险会反过来咬你。
收尾时给你一张"反模式识别卡",这些形态一出现就该警惕:
认出反模式不是为了批评,是为了在它刚露头时就动手——哪怕只是给团队写一句"这里不对劲,下次改进提案"。反模式之所以反复出现,正因为修它需要纪律。
技术栈、云原生、反模式,讲到底都指向同一个判断:技术是手段,健康是可运维、敢演进、能长期活下去。当你面对下一个场景、下一个服务时,把全册这套"术前评估—画刀线—接通—供血—移植—抗排异—无菌—治理"的框架随身带上,你会越来越稳,也越来越少需要"拆了重来"。
收留这册时,与其记"微服务是什么"的知识点,不如把它收成一张动手就能对一遍的检查表。试着抄下来,遇到新系统或做定期体检时逐项过:
一格一格打勾下来,你就能在"还在健康"和"开始烂"之间找到提前介入的那个点。这套检查表比任何一句"微服务该这样"的结论都更能体面地拦住退化——它把你前面读的所有章节,压缩成每天能用一次的冷静动作。
选型时刻的直觉常常是"新比旧好、早换早省",但它漏算了一项几乎必被低估的成本——切换税。它由三块组成:团队里每个人重学这套栈的学习成本;老栈里正在跑、已经跑顺的代码与工具链的搬迁代价;以及最隐蔽的,老栈在线上被踩过的坑、沉淀下来的运维知识,换栈后这些经验全部清零。所以技术选型不该只在"新栈多强"上打转,还该盯着"从当前栈迁走的代价有多大"。务实的一条判断是:当你在两个栈之间犹豫时,如果新的是"好一点"、老的是"稳一点",多数时候留在原点是对的;只有当新栈能带来老栈给不了的量级级改善——比如并发吞吐翻数量级、能接住一个当前完全没法做的场景——才值得按下那个"搬"的开关。选型是概率题,而切换税往往把"新"的这一票,拉低得比你直觉预估的更狠。