口播答「拆了几个」不如答「分层、容量、一致性」怎么扛。
组件管调用怎么通、怎么控;中间件管数据怎么传、怎么存、怎么查。
证据:HeroDash · GFS · 禅游 · 前海映像。
全场叙事 · 先给路线,再进细节
口播四步不是目录——后一步只回答前一步立住的问题。
拆服务当成绩单。
中间件成独立故障面。
先算账。
组件:网关/注册/熔断/事务。
中间件:MQ/缓存/检索/向量。
分层约束拆分。
四扳机拆服务。
MQ 五维;一致三档。
Seata 是手术刀。
最小栈可跑。
三板斧 + 容量账。
证据可复述。
为什么 · 拆服务不是终点
口播面试官问「怎么拆」——老李反问:谁扛注册、配置、限流、事务和消息?
别报「拆了几个服务」——报中间件怎么分层、怎么容量、怎么一致。
为什么 · 四条项目钉住中间件账
口播从左到右念证据——每条都落在中间件或治理,而不是「服务个数」。
Spring Cloud 全家桶上 K8s。
迭代缩短约 50%。
每个中间件独立故障面。
日运单 10 万→100 万。
RocketMQ 日均千万级。
触达率 99.99%。
用户约 14 亿。
峰值约 3 万 QPS。
WebFlux + 熔断 + Dubbo。
Dubbo 按领域拆:
用户/订单/仓储/物流/财务。
边界跟领域走。
是什么 · 组件管通控,中间件管传存查
口播微服务不是 Spring Cloud 别名——Dubbo3 + 网关 + Nacos 同样完整。
网关 · 注册发现 · 配置 · 熔断限流 · 事务编排
MQ · 缓存 · 检索 · 向量 · 流计算 · OLAP
怎么决 · 扳机不是技术冲动
口播HeroDash 迭代能砍半,靠组件齐、发布链路短——不是服务拆得碎。
| 扳机 | 现象 | 动作 |
|---|---|---|
| 变更冲突 | 两域发布互相堵 | 按限界上下文拆 |
| 容量不均 | 一处热点拖垮全集群 | 热点域独立扩缩 |
| 故障隔离 | 仓储抖动拖死下单 | 独立进程 + 熔断 |
| 团队边界 | 多人改同一仓互相踩 | 对齐组织所有权 |
怎么决 · 场景驱动,五维答法
口播别背谁最强——五维落到自己项目,再对场景。
| 场景 | 倾向 | 理由 / 证据 |
|---|---|---|
| 电商履约推送、削峰 | RocketMQ | 堆积/顺序/延时成熟 · GFS 日均千万级 |
| 业务事件、路由灵活 | RabbitMQ | 交换机模型清晰 · HeroDash 常用 |
| 低延迟控制面、信令 | NATS | 简单快 · 别当万能业务总线 |
| 跨语言流式管道 | Kafka 系 | 日志与流计算优先,非默认业务 MQ |
怎么决 · 三档,别一上来 Seata
口播GFS 99.99% 靠可靠投递、幂等、对账——不是每个触达开全局事务。
履约、推送、物流状态机——可延迟可补偿。
库存扣减、资金记账;写空回滚预案。
怎么落 · 入口先异步,再挂规则
口播禅游约 3 万 QPS:先改网关线程模型异步,再挂 Sentinel——顺序反了规则是装饰。
日运单十倍增长——消息中心先扩容再拆服务。拆错顺序,运维先崩。
怎么落 · 别只会背 YAML
口播用 Cursor / Claude Code 拉起来——HeroDash 这条跑通,才敢谈迭代缩短约 50%。
注册配置;Gateway / WebFlux 挂路由
慢调用熔断 + QPS 限流;压测拒绝策略
事件 RabbitMQ;履约推送 RocketMQ
热点幂等;检索;向量再上 Milvus
明确跨库短事务才上;写空回滚用例
探针 · HPA · 资源配额——中间件账 + 运行面一起验。
提炼 · 面试带走的判断标准
口播从左到右念——每条都能用前面证据回扣。
报「拆了 20 个」不如画清:网关 → 治理 → 业务 → 中间件。分层清楚,拆分才有约束。
履约推送吃得消延迟补偿。强一致只留给库存/资金短关键路径。Seata 是例外。
没有堆积告警、熔断演练、大 key 治理——谈高可用都是口号。
带走 · 公式 → 速查 → 唯一 CTA
口播先念公式,再对表——证据锚点能讲清,才像干过。
| 问题 | 答法 | 证据锚点 |
|---|---|---|
| 分层 | 接入/治理/业务/中间件/数据 | HeroDash Spring Cloud |
| 何时拆 | 变更·容量·故障·团队 | 前海映像;GFS 先扩消息 |
| MQ | 吞吐/顺序/堆积/运维五维 | GFS RocketMQ;HeroDash Rabbit/NATS |
| 治理 | 限流·熔断·降级,入口先异步 | 禅游 WebFlux,约 3 万 QPS |
| 一致 | 本地 → 最终 → Seata | 履约最终;资金短事务 |