API网关最佳做法

时间:2019-06-17 07:16:27

标签: amazon-web-services

我们正在考虑利用AWS api网关更好地管理API。但是,在企业级别,最佳实践是什么?是否有必要为所有应用程序团队使用一个通用的API网关(在这种情况下,我们可能需要该通用API网关的管理员,这会增加开销),或者每个应用程序团队都应该构建自己的API网关并管理其API电话吗?

希望有个人分享他们的经验。

1 个答案:

答案 0 :(得分:0)

我已将AWS API网关用于不同的Web /移动应用程序项目。让我尝试在这里一个接一个地回答您的问题。

基于限制的设计

API网关具有局限性。您可以基于这些限制找到答案。 例如:对“每个API资源”有一个软限制,并将其设置为300,可以增加到最大500。这意味着将来,如果需要超过500个资源,则需要创建新的API网关。

因此,最好在逻辑上隔离API,并根据目的使用不同的API网关。

REST API,WebSocket API和WebSocket回调API上每个区域的油门限制被限制(软)为每秒10,000个请求(RPS),并且令牌桶算法提供了额外的突发容量,最大存储容量为5,000请求。

因此,需要根据流量设计API网关。

有许多这样的限制https://docs.aws.amazon.com/apigateway/latest/developerguide/limits.html

基于功能的设计

  1. API网关使用OPEN API标准并促进XML / JSON导入和导出功能。因此,如果使用来自应用程序的大型文件创建新的API网关,最好不要将其与其他应用程序混合。

  2. 有许多功能,例如1)启用API缓存,2)启用限制,3)Web应用程序防火墙4)客户端证书,这对于企业中的所有APis都不通用。同样,最好是根据需求使用单独的API。

  3. AWS API网关采用了不同的日志记录机制,每个API网关实现都需要量身定制的方法。

  4. SDK生成对于移动开发非常方便,再次无需使用将所有api捆绑到一个SDk中并提供访问权限。

因此,我的建议是针对基于特定需求的企业使用多个API网关。