01 结论先行

微服务不是拆服务
是先把中间件账算清

口播答「拆了几个」不如答「分层、容量、一致性」怎么扛。

组件管调用怎么通、怎么控;中间件管数据怎么传、怎么存、怎么查。
证据:HeroDash · GFS · 禅游 · 前海映像。

治理 + 容量 + 一致边界 老李 · 架构师 面试专题 · 微服务
下一页给听课地图:痛点 → 分层 → 选型 → 验证
02 听课地图

全场叙事 · 先给路线,再进细节

按一条线听:痛点 → 分层 → 决策 → 落地

口播四步不是目录——后一步只回答前一步立住的问题。

1

Why 为何拖垮

拆服务当成绩单。
中间件成独立故障面。
先算账。

2

What 两套账

组件:网关/注册/熔断/事务。
中间件:MQ/缓存/检索/向量。
分层约束拆分。

3

How 选型边界

四扳机拆服务。
MQ 五维;一致三档。
Seata 是手术刀。

4

Do 验证口述

最小栈可跑。
三板斧 + 容量账。
证据可复述。

先从 Why:拆完服务,谁先把你拖垮?
03 ① Why · 痛点

为什么 · 拆服务不是终点

拆完服务,中间件先把你拖垮

口播面试官问「怎么拆」——老李反问:谁扛注册、配置、限流、事务和消息?

① 冲动拆服务当成绩单
→
② 后果故障域倍增
→
③ 账单每中间件独立故障面
→
④ 正解先分层再拆
反例

日运单 1 万、团队 3 人

  • 先上 Seata + 五套 MQ
  • 等于给自己挖坑
  • 服务越碎,中间件账单越贵
小结

答法换题

别报「拆了几个服务」——报中间件怎么分层、怎么容量、怎么一致。

痛点立住——下一页用四条证据把账钉死。
04 ① Why · 证据

为什么 · 四条项目钉住中间件账

真实峰值说话:不是再拆两个服务

口播从左到右念证据——每条都落在中间件或治理,而不是「服务个数」。

H

HeroDash

Spring Cloud 全家桶上 K8s。
迭代缩短约 50%。
每个中间件独立故障面。

G

GFS

日运单 10 万→100 万。
RocketMQ 日均千万级。
触达率 99.99%。

禅

禅游发行

用户约 14 亿。
峰值约 3 万 QPS。
WebFlux + 熔断 + Dubbo。

前

前海映像

Dubbo 按领域拆:
用户/订单/仓储/物流/财务。
边界跟领域走。

有证据——下一页把「两套体系」画成一张分层图。
05 ② What · 分层

是什么 · 组件管通控,中间件管传存查

两套体系,一张图:接入 → 治理 → 业务 → 中间件

口播微服务不是 Spring Cloud 别名——Dubbo3 + 网关 + Nacos 同样完整。

组件体系

服务怎么活

网关 · 注册发现 · 配置 · 熔断限流 · 事务编排

中间件体系

服务靠什么活

MQ · 缓存 · 检索 · 向量 · 流计算 · OLAP

分层清楚——下一页:什么时候才该拆服务?
06 ③ How · 拆分

怎么决 · 扳机不是技术冲动

只认四条扳机:变更 · 容量 · 故障 · 团队

口播HeroDash 迭代能砍半,靠组件齐、发布链路短——不是服务拆得碎。

扳机现象动作
变更冲突两域发布互相堵按限界上下文拆
容量不均一处热点拖垮全集群热点域独立扩缩
故障隔离仓储抖动拖死下单独立进程 + 熔断
团队边界多人改同一仓互相踩对齐组织所有权
拆分有纪律——下一页进 MQ:别背「谁最强」。
07 ③ How · MQ

怎么决 · 场景驱动,五维答法

MQ 怎么选:吞吐 · 延迟 · 顺序 · 堆积 · 运维

口播别背谁最强——五维落到自己项目,再对场景。

场景倾向理由 / 证据
电商履约推送、削峰RocketMQ堆积/顺序/延时成熟 · GFS 日均千万级
业务事件、路由灵活RabbitMQ交换机模型清晰 · HeroDash 常用
低延迟控制面、信令NATS简单快 · 别当万能业务总线
跨语言流式管道Kafka 系日志与流计算优先,非默认业务 MQ
消息有选型——下一页钉一致性:最终默认,Seata 例外。
08 ③ How · 一致

怎么决 · 三档,别一上来 Seata

一致性三档:本地 → 最终 → Seata

口播GFS 99.99% 靠可靠投递、幂等、对账——不是每个触达开全局事务。

默认

最终一致

履约、推送、物流状态机——可延迟可补偿。

例外

强一致短路径

库存扣减、资金记账;写空回滚预案。

边界清楚——下一页:治理三板斧 + 容量账怎么口述。
09 ④ Do · 治理

怎么落 · 入口先异步,再挂规则

三板斧 + 容量账:面试官爱听这个

口播禅游约 3 万 QPS:先改网关线程模型异步,再挂 Sentinel——顺序反了规则是装饰。

①限流 · 挡入口洪峰
→
②熔断 · 切下游坏牙
→
③降级 · 保主路径
容量账本
  • 网关:连接数、超时、线程/事件循环
  • MQ:生产 TPS、消费并行、堆积告警
  • Redis:命中率、大 key、热 key
  • ES/Milvus:写入延迟、P99、重建窗口
  • 事务:全局锁时长、回滚比例
顺序铁律

GFS:先扩消息中心

日运单十倍增长——消息中心先扩容再拆服务。拆错顺序,运维先崩。

口述有了——下一页:最小可运行栈,三条验收。
10 ④ Do · 验证

怎么落 · 别只会背 YAML

最小可运行栈:注册可见 · 熔断可触发 · 消息可堆积

口播用 Cursor / Claude Code 拉起来——HeroDash 这条跑通,才敢谈迭代缩短约 50%。

1

Nacos + 网关

注册配置;Gateway / WebFlux 挂路由

2

Sentinel

慢调用熔断 + QPS 限流;压测拒绝策略

3

选一个 MQ

事件 RabbitMQ;履约推送 RocketMQ

4

Redis + ES

热点幂等;检索;向量再上 Milvus

5

Seata 例外

明确跨库短事务才上;写空回滚用例

K8s 补齐

探针 · HPA · 资源配额——中间件账 + 运行面一起验。

能跑了——下一页收三条洞见。
11 洞见三条

提炼 · 面试带走的判断标准

三条钉死:分层 · 最终默认 · 容量一半

口播从左到右念——每条都能用前面证据回扣。

1

先画分层

报「拆了 20 个」不如画清:网关 → 治理 → 业务 → 中间件。分层清楚,拆分才有约束。

2

最终是默认

履约推送吃得消延迟补偿。强一致只留给库存/资金短关键路径。Seata 是例外。

3

容量是一半

没有堆积告警、熔断演练、大 key 治理——谈高可用都是口号。

洞见齐了——最后一页:公式 + 速查表 + CTA。
12 收束回顶

带走 · 公式 → 速查 → 唯一 CTA

面试一条线:治理 + 容量 + 一致边界

口播先念公式,再对表——证据锚点能讲清,才像干过。

微服务体系 = 组件治理 + 中间件容量 + 一致性边界
问题答法证据锚点
分层接入/治理/业务/中间件/数据HeroDash Spring Cloud
何时拆变更·容量·故障·团队前海映像;GFS 先扩消息
MQ吞吐/顺序/堆积/运维五维GFS RocketMQ;HeroDash Rabbit/NATS
治理限流·熔断·降级,入口先异步禅游 WebFlux,约 3 万 QPS
一致本地 → 最终 → Seata履约最终;资金短事务
别再报服务个数——先画分层图,再讲一条真实峰值下的容量与一致边界。