API 组合与聚合

对多个下游服务的数据做组合查询(内存连接或编排调用)后返回;组合层要定义部分失败语义:整体失败还是带缺省结果,需要按业务场景确定。

模式并行调用多个服务,内存拼接结果
失败语义关键数据缺失则失败;非关键缺失给默认值
性能并行化与超时预算分配,避免串行叠加

部分失败语义设计

数据类型缺失时的行为
关键字段(金额、状态)整体失败,返回错误
增强字段(头像、标签)给默认值并标记结果不完整
列表次要字段省略字段,不影响整体成功
下游整体超时快速失败并提示稍后重试
组合层容易出现 N+1 放大:先批量获取再拼接,避免按行循环调用下游。

易错点

  • 循环逐条调用下游,延迟随数据量增长
  • 未定义部分失败语义,前端拿到残缺数据无法处理

数据来源与参考

  • microservices.io:API Composition
  • 《Microservices Patterns》(Richardson)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌