拆开、上线、能扛故障,这套商城总算能跑起来了。可还有两根高压线必须碰:一是安全——拆开的系统暴露了更多攻击面,每个端口都是给外人开的门;二是测试——跃迁越频繁,越要有机器在放行前把风险"挡在门外"。本章把无菌门禁(安全)和复查(测试)放在一起,给你一套"防得住 + 敢上线"的姿势。
微服务在安全上有个尴尬的账:单体好歹只有一座堡垒,拆成十几个服务反而多了十几个入口,每个都要鉴权、都要锁门。而测试上更尴尬:从前端到后端一条链的端到端测试,在微服务里又慢又脆,几乎没法当日常门禁。所以安全要"统一收口别漏门",测试要"分层多打几道关"——这正是本章两条主线。
还是商城,两个场景轮着走:第一个是"用户登录下单"——身份从哪认证、token 怎么传、服务间怎么证明"我是谁";第二个是"这次要上线一个新功能"——单元、集成、契约、端到端、再加上混沌工程,一个一个门怎么过。安全保的是门的紧,测试保的是变的稳。
7.1 认证授权与通信加密:进出管制——讲身份从哪来、token 怎么共享、谁来统一鉴权,以及服务间通信怎么用 mTLS 互认身份、全链路加密防窃听防篡改。
7.2 测试金字塔与契约测试:复查三查——讲为什么测试要"多而小的底层"配"少而重的顶层",契约测试怎么单挑"两个服务私下改接口把人打崩",以及它和 SCA/安全扫描如何一起兜底。
7.3 端到端与混沌工程:术前全演练——讲端到端测试的定位(少而关键),和混沌工程怎么主动"注入故障"验证系统真能自愈,把"我以为只能扛"变成"我验证过能扛"。
本章最值得记住的认知转折:微服务的安全与测试,靠的不是"更严的单道关卡",而是"统一的收口 + 多层的防线"。安全要把认证、加密收口成一处统一信任根,而不是每个服务各搞一套;测试要按成本把覆盖面分层,用"低成本的自动化"做高频门禁,用"高成本的真实验证"做上线前最后一关。读完全章,你会明白"防不胜防"和"体系化设防"之间的差别,也懂得越拆越要多验证。
安全和测试的坑在于"用力过猛却抓错点":
想明白这三条,再看站点里的认证与测试设计才不跑偏。
防线建好、验证完备,这套商城已经能稳稳当当地"出院"了。可出院之后还有更长的路:接口要平滑换代、依赖要有人背书、架构要能继续演进而不会越长越乱。第 8 章作为全册收尾,把"长期怎么保持健康"这件大事交给你——版本、依赖、演进、选型,一页页过。