哪个API网关可以生产,并提供良好的性能和function?

我们的基础架构中有很多REST服务,这些服务是使用不同的技术(Java,Go,Ruby,NodeJS)构build的,但它们都有一些共同的要求,比如身份validation,授权,速率限制,分析等等,所以我们想要有一个API网关在这些API的前面,以便所有的通信只通过它发生。 我开始了解市场上的一些开源产品,例如Strongloop / Loopback , WSO2 , TYK , APIAXLE和3scale,但其中大部分看起来并不像时间testing和准备用于生产。 我现在想到的几件事情:

  1. 在使用这些解决scheme之一后,用户反馈如何?
  2. 很多人会需要这种function,所以他们怎么做呢? 我在正确的方向看?
  3. 有没有更好的方法来解决我的问题,而不使用API​​网关?

如果我提到WSO2 API Manager,

  1. 我知道很多人在生产中使用它,并提供很好的反馈。

  2. 是。 您可以使用API​​pipe理器进行速率限制。 APIpipe理器具有称为节stream层的function。 您可以使用该function进行速率限制。 对于其他function,如身份validation和授权,您必须使用API​​ Manager与WSO2身份服务器 。 对于分析function,您必须使用API​​ Manager WSO2业务活动监视器 。 集成所有这些产品,您可以实现您提到的function。

自从我在那里工作以后,我可以回答3级。

3scale是一个完整的APIpipe理平台 ,为您的API实现授权,速率限制和分析。 我们提供不同的集成选项,其中最受欢迎的是我们的API网关,可以由我们托pipe或部署在本地。

这是一个基于Nginx的网关,部署在您的API服务器之前,通过到达3scale API来授权来电。 网关提取传入呼叫的​​API密钥和被呼叫的端点,并检查这个特定的请求是否应该被授权(即有效密钥,限制内使用,有效端点等)。

我们的API网关的一个关键部分是授权是asynchronous执行的,因此它不会影响API用户感知的延迟。

关于您的特定问题:

  1. 我们有600个客户使用3scale在生产。 这包括具有非常大的stream量的API,其中一些可以在这里看到和阅读。

  2. 我想说的主要select是使用API​​pipe理平台还是自己实现这些function。 使用像3scale这样的优点是,我们专门研究这个问题,除了基本的授权和速率限制之外,我们还提供其他非常有用的function:我们托pipe的开发者门户,您的API用户可以注册和pipe理他们的密钥,计费系统您可以使用它为您的API提供付费计划,支持高级身份validation模式(如OAuth2)以及其他您可以在我们的网站上阅读的信息。

  3. 您也可以将API中的3scale与我们的一个软件库集成在一起。 但是,由于您有多个使用不同语言编写的API,因此我build议使用API​​网关,因为您只有一个集成点(因此更容易维护)。

一如既往,如果你自己testing一下是最好的。 我们有一个没有时间限制的免费计划,所以你可以从那里开始。