Amazon API网关和Spring云网关用例



我正在从事一个分布式应用程序项目,其中需要根据在api网关上消费服务的客户端进行速率限制和身份验证。我想知道设计网关的最佳解决方案。

我应该使用Spring云网关还是Spring cloud函数/AWS Lambda来创建网关服务?

我认为使用AWS API Gateway将使您的生活更轻松…

使用AWS API网关的好处是:

  • 它将消除维护、配置、监控和操作Spring Cloud Gateway实例的所有运营成本,
  • 它将是高可用的,具有故障转移,
  • 它将为您提供即时功能,如速率限制,api密钥,缓存,授权,金丝雀测试,代理,集成映射,环境
  • 它非常非常便宜(3.5美元× MM请求)。

使用Spring Cloud Function的好处:

  • 将API定义为应用程序代码本身的代码
  • 利用Spring中的生态系统集成,例如,在开发人员的PC上本地运行它。

使用API网关的缺点:

  • 新API的部署将比使用Spring Cloud Gateway更难(你需要配置每个新资源/方法)
  • 您的成本现在与请求数量挂钩…如果你有一个900,000,000亿/月的API,它可能会变得昂贵
  • 供应商

使用Spring Cloud Function的缺点:

  • 运行维护成本
  • 单点故障

您可以使用Amazon API Gateway。有关请求限制和配额的更多信息,请参阅文档:https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-request-throttling.html

如果允许,我宁愿使用Istio网关特使代理,而不是两种选择。保持我的操作和维护成本很少,不需要更改代码。

最新更新