使用Spring Cloud Gateway代理.NET应用程序和无服务器功能 – Richard Seroter

19-10-26 banq

API网关可以做很多事情。他们有选择地向更广泛的受众公开私人服务。借助路由规则,它们可以在不通知客户的情况下在服务版本之间移动客户端。它们通过提供速率限制和缓存等功能来保护下游服务。而且,它们为具有微服务架构的用户提供了一种可行的方式来保护服务安全,而无需每个服务都进行自己的身份验证。从历史上看,您的API网关是其自己的整体。但是,出现了一系列自动化友好的OSS(和云托管)选项,这为您提供了部署许多不断更新的API网关实例的新方法。

我一直在使用Spring Cloud Gateway,它不仅仅可以将流量代理到Spring Boot应用程序,.net程序也可以使用它。实际上,我想尝试创建一个仅配置无代码的API网关,该网关可以完成三件事:

  1. 互联网上“常规”网页之间的加权路由。
  2. 将标头添加到在Microsoft Azure中运行的JavaScript函数中。
  3. 在Pivotal平台上运行的经典ASP.NET Web服务上执行限速。

在开始之前,让我备份并简要说明什么是Spring Cloud Gateway。基本上,这是一个将Spring Boot应用程序转换为API网关的项目,该网关可以在为安全性等应用跨领域功能时路由请求。请求进入,如果请求与声明的路由匹配,则请求将通过一系列过滤器传递,发送到目标端点,然后在返回客户端的途中应用“后”过滤器。Spring Cloud Gateway建立在Reactive基础之上,这意味着它是非阻塞的,可以有效地处理许多同时发生的请求。

最大的外卖?这只是一个应用程序。您可以编写测试并进行持续集成。您可以将其放在管道中,并持续交付您的API网关。棒极了。

请注意,无需任何Java知识,您可以轻松按照以下步骤进行操作!我使用Java DSL进行配置时所做的所有事情,但我想证明仅配置选项的简单性。

点击标题查看详细步骤