

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# API 组合模式
<a name="api-composition"></a>

此模式使用 API 编辑器或聚合器调用含有数据的各个微服务来实施查询。然后，其通过执行内存连接来合并结果。

下图说明了如何实施此模式。

![API 组合模式图](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/modernization-data-persistence/images/enabling-diagram2.png)


下图显示了如下工作流：

1. API 网关为“/customer”API 提供服务，其具有“Orders”微服务，可用于跟踪 Aurora 数据库中的客户订单。

1. “Support” 微服务跟踪客户支持问题并将其存储在亚马逊 OpenSearch 服务数据库中。

1. “CustomerDetails” 微服务在 DynamoDB 表中维护客户属性（例如地址、电话号码或付款详情）。

1. “GetCustomer” Lambda 函数 APIs 为这些微服务运行，并在将数据返回给请求者之前对数据执行内存联接。这有助于通过网络调用面向用户的 API 轻松检索客户信息，并简化界面。

API 组合模式提供了从多项微服务收集数据的简单方法。但是，使用 API 组合模式有以下劣势：
+ 其可能不适用于需要内存连接的复杂查询和大型数据集。
+ 如果连接到 API 编辑器的微服务数量增加，则整个系统的可用性就会降低。
+ 数据库请求的增加会产生更多的网络流量，从而增加您的运营成本。