【发布时间】:2017-08-12 05:47:48
【问题描述】:
我正在审查几种使用微服务与 api 网关相结合的方法来重新开发 node.js 宁静的单体应用程序。在查看使用 aws api 网关时,虽然似乎有一些项目我无法找到很多文档。一方面,我正在设计的应用程序必须能够支持 SSO,我希望用户能够通过创建本地登录或使用他们当前的 facebook、twitter 等社交帐户进行注册。
aws api 网关将如何处理此过程,尤其是因为我需要使用自定义数据库来写入和读取,更不用说授权用户了?
另外,例如,假设我的微服务具有以下限界上下文:
帐户(登录、注册、个人资料管理),
计费(由于运行时间的原因,可能不适合无服务器,可能会选择 docker + ec2),
朋友(建立朋友关联),
文件(用户可以将图片和视频上传到他们的时间线 - 似乎是另一个 docker + ec2 候选者);
并且我想使用 api 网关来保护所有微服务端点,但特定于登录和注册的端点除外,该怎么做?
Node.js 包含一个似乎通过 facebook、twitter、local 等处理 jwt 和身份验证用户的包,称为护照,我可以将它与 api 网关身份验证一起使用吗?
另外,如果 api 网关保护微服务,请求对象和响应对象如何在网关和微服务之间传递各种请求?
此外,如果我决定构建一个自定义 api 网关,其中网关正在侦听不同的端口并包含在单独的 docker 容器中,它应该如何调节其他 docker 容器中侦听其他端口的微服务的权限?
简而言之,任何真正完成此过程并回答我上面列出的问题的文档都将非常有帮助。此外,如果我以错误的方式看待这个问题或提出错误的问题,这方面的建议也会有所帮助。
【问题讨论】:
标签: node.js amazon-web-services passport.js aws-lambda aws-api-gateway