有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

https://memz.co/reverse-proxy-nginx-docker-microservices/

Interesting Posts