外观
一句话答案
同步 RPC(Dubbo/Feign,实时性好)和异步消息(Kafka/RocketMQ,解耦削峰),按场景选择。
核心要点
| 方式 | 代表 | 优点 | 缺点 |
|---|---|---|---|
| HTTP/REST | Feign | 简单/跨语言 | 性能一般 |
| RPC | Dubbo/gRPC | 高性能 | 耦合度高 |
| 消息 | Kafka/RocketMQ | 解耦/异步 | 复杂度高 |
追问与易错
追问方向:
- 同步调用的问题?
- 异步消息的问题?
- 什么场景必须同步?
易错点:
- ❌ 所有调用都该异步——查询场景必须同步
- ❌ Feign 调用就是同步的——可配合 @Async
💡 记忆锚点
同步调用像打电话(Feign/Dubbo,实时得到结果但双方必须同时在线),异步消息像发微信(Kafka/RocketMQ,解耦削峰但有延迟和复杂度)。选型原则:查询/强依赖结果的必须同步,通知/触发后续流程的优先异步。