寻找称为多个微服务的API网关技术



在我的公司中,我们计划将我们的后端解决方案(这是一个巨大的单片)迁移到更性感的微服务架构。

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

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

但是,我们正在寻找一种API网关技术,该技术可以使我们只用一个客户请求来调用多个微服务。

这个想法是开发一个看起来像Netflix One的体系结构: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", ...}
    ]
}

所以,我的问题是您知道可以完成这项工作的不错的技术吗?

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

相关内容

  • 没有找到相关文章

最新更新