在我的公司,我们计划将我们的后端解决方案迁移到性感的微服务架构中,这是一个巨大的整体架构。
到目前为止,我们已经对许多技术进行了基准测试,我们可能会将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 :(得分:2)
您可以使用AWS Lambda。让API网关调用Lambda函数。让Lambda函数执行您描述的操作,调用您的ECS服务,然后返回最终结果。