前言
市场上可用的 API 网关的数量很多,网上经常会讨论哪个更好。在这篇文章中,将会分享 Spring Cloud Gateway 与 Apache APISIX 的比较。
使用 Spring Cloud Gateway 的第一步
我所知道的所有 API 网关都提供 Docker 镜像。例如,Apache APISIX 提供三种风格:Debian、CentOS 以及最近的 Red Hat。此时,您可以开始在容器化架构中部署镜像。
Spring Cloud Gateway 的方法完全不同。它只是对常规 Spring 项目的常规依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>4.0.6</version>
</dependency>
您可以利用所有标准方法来创建项目,包括流行的 start.spring.io
,就像任何常规 Spring 项目一样。这种面向开发人员的方法普遍存在于与 Spring Cloud Gateway 相关的所有项目中。
概念和抽象
Apache APISIX 具有丰富的模型:
特别是,您可以创建Upstream
抽象并在不同的路由之间共享它。同样,Plugin Config
允许您创建可重用的插件组合。
这是 Spring Cloud Gateway 模型:
APISIX 模型更丰富,具有抽象和重用的可能性。
如何配置
Apache APISIX 有两种部署模式(实际上是三种,但我们不详细介绍):传统部署模式和独立部署模式。
在传统模式下,APISIX 将其配置存储在etcd中。APISIX 提供了丰富的 API 来访问和更新配置,即Admin API。在独立模式下,配置只是普通的 YAML。这是 GitOps 从业者的方法:您将配置存储在