有docker的API网关有什么select?
我已经创build了几个RESTful微服务,并对它们进行了docker化。 现在我想为他们创build一个基于Web的UI,并且可以创build用户并授予他们使用某些API的权限。
我知道我需要某种API网关。 我的第一个想法是,我总是可以做到这一点暴力的方式:创build一个django应用程序,将服务用户界面和手动代理所有的API的请求,但这似乎非常沉闷。 也许有一些替代品? 我已经准备好了Tyk,但找不到任何有关添加用户和授予他们权限的信息。
我可能可以创build一个应用程序作为API网关,并通过编写一些代码来实现请求的自动化代理。 所以例如,我基本上需要外部URL到实际API URL和一些授权逻辑之间的映射。 也许有这样的事情?
我正在寻找类似的东西,包括支持速率限制,UI控制台等。它归结为几个免费增值工具,如:
- apigee
- mashape
- 蜂房
- 3scale.net
和一些开源的:
- TYK
- 港
- ApiAxle
- WSO2
- API伞
我已经决定了tyk,因为它有一个很好的UI控制台和坚实的文档。 所有这些都在Quora上提到,当你想要去购物的时候,这是很好的:)
如果你喜欢把你的手弄脏,你可以很容易地实现你自己的简化的API网关。 我相信这种方法完全符合微服务范式 – 以有限的function实现简单的服务,只做一件事,但做得很好。
我已经写了关于这个主题的教程(用Node.js实现Docker化微服务的简单API网关)。 我的例子是约100行JavaScript代码,它使用node-docker-monitor来监听Docker事件和http-proxy来处理来自客户端的HTTP请求。
https://memz.co/api-gateway-microservices-docker-node-js/
或与SkyDNS和Nginx的替代解决scheme