6

在我的公司,我们计划将我们的后端解决方案(这是一个巨大的整体架构)迁移到更性感的微服务架构。寻找调用多个微服务的API网关技术

到目前为止,我们已经对许多技术进行了基准测试,我们可能会将AWS基础架构与AWS EC2容器服务(ECS)结合使用。我们的微服务将被包装在Docker容器中。

我们已经部署了容器并配置了自动缩放和负载平衡。一切都很好。

但是,我们正在寻找一种API网关技术,可以让我们只需要一个客户端请求即可调用多个微服务。

的想法是开发,看起来像Netflix的一个架构:如果客户(网站)要获取一个客户的车

http://techblog.netflix.com/2013/01/optimizing-netflix-api.html

例如。它会向API发送一个Get请求。

首先,我想,我们的网关呼叫“用户”微服务将返回用户的信息,他的车包含ID产品的名单:

{ 
    "name": "john", 
    ...., 
    "cart": [1,2,3] 
} 

然后,不直接响应客户端,网关将调用“产品”微服务来为Json提供有关每种产品的信息。

{ 
    "name": "john", 
    ...., 
    "cart": [ 
     {"id": 1, "name": "Iphone", ...}, 
     {"id": 2, "name": "Ipad", ...}, 
     {"id": 3, "name": "Ipod", ...} 
    ] 
} 

所以,我的问题是你知道一个很好的技术可以完成这项工作吗?

+0

你可能想看看我写的一篇文章,它讲述了API网关以及你应该了解的有关构建微服务的其他内容:https://cloudncode.blog/2016/07/22/msa-getting -started /(声明:这是一个链接到我的博客) –

回答

2

您将使用AWS Lambda进行此操作。让API网关调用Lambda函数。让Lambda函数执行您描述的操作,调用您的ECS服务,然后返回最终结果。