哪个API网关已准备好生产并提供良好的性能&特征?

时间:2015-04-27 11:29:04

标签: node.js security rest wso2 strongloop

我们的基础架构中有许多REST服务,这些服务是使用不同的技术(Java,Go,Ruby,NodeJS)构建的,但它们都有一些常见的要求,如身份验证,授权,速率限制,分析等,所以我们正在考虑在这些API前面有一个API网关,以便所有通信只通过它进行。 我开始了解市场上的一些开源产品,如Strongloop/LoopbackWSO2TYKAPIAXLE& 3scale但其中大部分看起来都没有经过时间测试,可以用于生产。我现在想到的几件事情都没有了:

  1. 使用其中一种解决方案后,用户反馈如何?
  2. 很多人都需要这种功能,所以他们是如何做到的?我正朝着正确的方向前进吗?
  3. 有没有更好的方法可以在不使用API​​网关的情况下解决我的问题?

2 个答案:

答案 0 :(得分:1)

如果我提到WSO2 API Manager,

  1. 我知道很多人在制作中使用它并提供有关它的良好反馈。

  2. 是。您可以使用API​​ Manager进行速率限制。 API Manager具有称为油门层的功能。您可以使用该功能进行速率限制。对于身份验证和授权等其他功能,您必须使用带有WSO2 identity server的API Manager。对于分析功能,您必须使用API​​ Manager WSO2 Business Activity Monitor。集成所有这些产品,您可以实现您提到的功能。

答案 1 :(得分:1)

因为我在那里工作,我可以回答3scale。

3scale是一个完整的API management platform,可为您的API实施授权,速率限制和分析。我们提供不同的集成选项,其中最受欢迎的是我们的API网关,可以由我们托管或部署在内部。

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

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

关于您的具体问题:

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

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

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

  4. 如果你自己测试一下,最好的情况就是这样。我们有一个没有时间限制的免费计划,所以你可以从那里开始。