Spring Cloud Gateway is an OSS library that provides support for building an API Gateway on top of Spring WebFlux, thus taking advantage of its high performance non-blocking I/O reactive underpinnings. Spring Cloud Gateway aims to provide a simple, yet effective way to route to APIs and provide cross cutting concerns to them such as: security, monitoring/metrics, and resiliency.
Spring Cloud Gateway for VMware Tanzu packages an enterprise-ready implementation of Spring Cloud Gateway as a Tanzu Platform for Cloud Foundry enabled managed service. The Spring Cloud Gateway integrates with the underlying platform to ensure applications do not expose their APIs directly to external consumers and handles secure routing on an internal domain. The Spring Cloud Gateway service includes additional filters, predicates and actuator content that tackle enterprise API Gateway needs such as:
- Single Sign-On integration with OpenID Connect identity providers
- Dynamic application route configuration to allow continuous integration and delivery pipeline API route updates
- High availability configuration to set the number of Gateway instances to handle all of your traffic throughput needs
- Gateway service instance dashboard to view health and configuration details
- Rate limiting configuration including partitioning by HTTP header, JWT claim or IP address
- GraphQL filters to manage operations and authorization
- Additional authentication and authorization filters for Role-based Access Control (RBAC), Scopes and redirecting to custom login
- Additional traffic control filters including client certificate validation and request route management
- Additional transformation filters such as JSON to XML and vise versa, extracting JWT claim into header value and JSON body manipulation
In addition to powerful runtime integrations with Tanzu Platform for Cloud Foundry and enhanced enterprise-ready capabilities on top of Spring Cloud Gateway, there is extensive support for use of OpenAPI. Applications can expose their API routes by providing an OpenAPI specification and apply filters and predicates dynamically to individual or all routes. As in many micro-services architectures that leverage an API Gateway, Spring Cloud Gateway for VMware Tanzu also provides API aggregation so that API consumers only see a single OpenAPI generated specification even though there may be multiple applications providing API routes behind it.