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.
API Gateway on Tanzu Platform packages an enterprise-ready implementation of Spring Cloud Gateway as a Tanzu Platform enabled managed service. The API 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 API 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 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, API Gateway on Tanzu PLatform 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.
Standalone Gateway is available as a JAR file that can be executed in pre-production environments for development and testing purposes. Although it does not come with any operational integrations for managing the standalone API gateway with high availability or at scale, this JAR can be used to verify API route configurations and behavior before deploying to production. Coupled with Local Authorization Server in pre-production environments, you can verify Single Sign-On (SSO), Role-based Access Control (RBAC), Rate Limiting and many other API route configuration options. The Standalone Gateway jar is available in Spring Enterprise Subscription artifact repository.