哪个API网关已经具备生产就绪,并提供良好的性能和功能?

17

我们的基础设施中有很多REST服务,使用不同的技术构建(Java、Go、Ruby、NodeJS),但它们都有一些共同的要求,如身份验证、授权、限速、分析等。因此,我们考虑在这些API之前放置一个API网关,以便所有通信仅通过它进行。

我了解到市场上有一些开源产品,如 Strongloop/LoopbackWSO2TYKAPIAXLE3scale,但大多数看起来并不像经过时间考验并已准备好用于生产。目前我想到的一些事情:

  1. 使用其中一种解决方案后用户反馈如何?
  2. 很多人都需要这种功能,他们是如何实现的?我是否朝着正确的方向思考?
  3. 有没有更好的方法来解决我的问题,而不使用API网关?

1
我们最终选择了Kong,因为它快速、易于使用且开源。 - ThinkFloyd
嗨,你能提供一个使用kong和loopback的代码示例吗?我正在尝试弄清楚如何通过kong传递loopback的Authtoken。 - Akshat Goel
2个回答

1
如果我提到WSO2 API Manager,
1.据我所知,很多人在生产中使用它,并对其提供良好的反馈。
2.是的,您可以使用API Manager进行速率限制。API Manager具有名为throttle tiers的功能。您可以使用该功能进行速率限制。对于其他功能(如身份验证和授权),您必须将API Manager与WSO2身份服务器一起使用。对于分析功能,您必须使用API Manager WSO2业务活动监视器。通过集成所有这些产品,您可以实现您提到的功能。

你提到的所有产品都是开源的吗?你花了任何授权费用吗?学习曲线如何? - ThinkFloyd
是的,在WSO2中所有产品都是开源的。 - lakshman

1

我能回答关于3scale的问题,因为我在那里工作。

3scale是一个完整的API管理平台,它实现了对API的授权、速率限制和分析。我们提供不同的集成选项,其中最受欢迎的是我们的API网关,它可以由我们托管或部署在企业内部。

这是一个基于Nginx的网关,部署在您的API服务器前面,并通过访问3scale API来授权传入调用。网关提取传入调用的API密钥和正在调用的端点,并检查是否应该授权此特定请求(即有效密钥、使用在限制范围内、有效终端点等)。

我们的API网关的一个关键部分是异步执行授权,以便不会影响API用户感知的延迟。

关于您的特定问题:

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

  2. 我认为主要选择是使用API管理平台还是自己实现这些功能。使用像3scale这样的东西的优点是,我们专门解决这个问题,并提供基本授权和速率限制以外的其他非常有用的功能:由我们托管的开发人员门户,在那里您的API用户可以注册并管理其密钥,您可以用它来提供付费计划的计费系统,支持高级身份验证模式,如OAuth2和其他模式,您可以在我们的网站上了解到。

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

像往常一样,最好的方法是自己测试。我们有一个没有时间限制的免费计划,所以您可以从那里开始。


你的答案已经不再有效了。现在他们不再提供任何“无时间限制免费计划”,只有免费试用。 - Pradeep Simha

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接