# spring-cloud/spring-cloud-gateway

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/spring-cloud-spring-cloud-gateway).**

4,883 stars · 3,458 forks · Java · Apache-2.0

## Links

- GitHub: https://github.com/spring-cloud/spring-cloud-gateway
- Homepage: http://cloud.spring.io
- awesome-repositories: https://awesome-repositories.com/repository/spring-cloud-spring-cloud-gateway.md

## Description

Spring Cloud Gateway is an API gateway and routing service built on Spring Boot. It acts as a central entry point for microservices, directing incoming HTTP traffic to downstream services using a combination of predicates and filters.

The project is a non-blocking request router that leverages Netty and Project Reactor to handle high-concurrency traffic via asynchronous data streams. It functions as a dynamic request router and network traffic filter, allowing for the automated detection of and routing to available service instances in dynamic network environments.

The gateway manages microservices traffic by mapping requests based on paths, methods, headers, or host criteria. It provides capabilities for network traffic modification, which includes rewriting URL paths and altering request and response headers through a pipeline of filters.

## Tags

### DevOps & Infrastructure

- [Microservice Traffic Management](https://awesome-repositories.com/f/devops-infrastructure/microservice-traffic-management.md) — Functions as a central entry point for routing and balancing traffic between distributed microservices. ([source](https://github.com/spring-cloud/spring-cloud-gateway#readme))
- [Spring Cloud Implementations](https://awesome-repositories.com/f/devops-infrastructure/api-service-management/microservice-infrastructure/service-mesh-components/spring-cloud-implementations.md) — Implements the API gateway pattern as part of the Spring Cloud ecosystem for routing and service discovery.
- [API Gateways](https://awesome-repositories.com/f/devops-infrastructure/api-service-management/microservice-infrastructure/service-mesh-components/spring-cloud-implementations/api-gateways.md) — Provides a full API gateway implementation for routing external requests to internal microservices.
- [Service Discovery](https://awesome-repositories.com/f/devops-infrastructure/service-discovery.md) — Provides mechanisms for dynamically locating and routing to service instances in elastic microservices environments.

### Networking & Communication

- [Gateway-Based Request Routings](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/request-routing/internal-microservice-request-routings/gateway-based-request-routings.md) — Acts as an external entry point that applies authentication, rate limiting, and path rewriting before forwarding to microservices.
- [Registry-Based Service Discovery](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/distributed-systems-coordination/service-discovery-mechanisms/registry-based-service-discovery.md) — Employs a registry-based discovery pattern to track and resolve dynamic service member addresses.
- [Dynamic Service Discovery](https://awesome-repositories.com/f/networking-communication/dynamic-service-discovery.md) — Resolves logical service names into physical network addresses in real-time for microservices communication.
- [Network Traffic Routing](https://awesome-repositories.com/f/networking-communication/network-traffic-routing.md) — Directs incoming network requests to specific backend services as a single entry point for all traffic. ([source](https://github.com/spring-cloud/spring-cloud-gateway/blob/main/pom.xml))
- [Network Traffic Transformers](https://awesome-repositories.com/f/networking-communication/network-traffic-transformers.md) — Modifies network headers, parameters, and paths in real-time using a pipeline of filters. ([source](https://github.com/spring-cloud/spring-cloud-gateway/blob/main/README.adoc))
- [Asynchronous Data Streams](https://awesome-repositories.com/f/networking-communication/reactor-patterns/asynchronous-data-streams.md) — Processes network requests as asynchronous data streams using Project Reactor's Flux and Mono.
- [Request Routers](https://awesome-repositories.com/f/networking-communication/request-routers.md) — Intercepts and forwards network requests based on dynamic rules including paths, methods, headers, or host criteria.
- [Request and Response Transformations](https://awesome-repositories.com/f/networking-communication/traffic-interception/http-request-interceptors/production-traffic-modifications/outbound-request-modification/request-and-response-transformations.md) — Implements a pipeline of filters to rewrite URL paths and alter request and response headers.
- [Traffic Routing](https://awesome-repositories.com/f/networking-communication/traffic-routing.md) — Directs HTTP requests to downstream services based on path, method, header, or host criteria. ([source](https://github.com/spring-cloud/spring-cloud-gateway#readme))
- [Tiered Route Filters](https://awesome-repositories.com/f/networking-communication/proxy-servers/proxy-configurations/session-and-traffic-routing/tiered-route-filters.md) — Provides a tiered filtering architecture that separates global interceptors from route-specific logic.
- [Service Discovery Integrations](https://awesome-repositories.com/f/networking-communication/service-discovery-integrations.md) — Integrates with external naming services and registries to automatically detect and route to available service instances.

### Security & Cryptography

- [Request and Response Filters](https://awesome-repositories.com/f/security-cryptography/request-and-response-filters.md) — Provides a sequence of filters to alter request and response headers and rewrite paths.

### Software Engineering & Architecture

- [Non-blocking I/O](https://awesome-repositories.com/f/software-engineering-architecture/concurrent-task-execution/non-blocking-i-o.md) — Utilizes non-blocking I/O and an event-loop model to handle high-concurrency network traffic.
- [Request-Response Filter Chains](https://awesome-repositories.com/f/software-engineering-architecture/interceptor-sequences/request-response-filter-chains.md) — Implements a modular sequence of interceptors to mutate and validate request and response traffic.
- [Predicate-Based Request Filtering](https://awesome-repositories.com/f/software-engineering-architecture/predicate-based-request-filtering.md) — Evaluates configurable boolean predicates to conditionally dispatch incoming HTTP requests to backend services.

### Web Development

- [Service Discovery Integrations](https://awesome-repositories.com/f/web-development/api-gateways/service-discovery-integrations.md) — Integrates with discovery clients to dynamically locate microservice instances without hardcoded addresses. ([source](https://github.com/spring-cloud/spring-cloud-gateway#readme))
- [Asynchronous Request Routers](https://awesome-repositories.com/f/web-development/asynchronous-request-routers.md) — Leverages Netty and Project Reactor as a high-performance engine for mapping traffic to concurrent handlers.
- [Dynamic Service Mapping](https://awesome-repositories.com/f/web-development/url-to-service-mappings/dynamic-service-mapping.md) — Maps incoming HTTP requests to downstream services based on the runtime evaluation of paths and headers. ([source](https://github.com/spring-cloud/spring-cloud-gateway/blob/main/README.adoc))
- [Request and Response Transformers](https://awesome-repositories.com/f/web-development/backend-development/request-response-handling/request-and-response-transformers.md) — Modifies data payloads and headers during the request and response lifecycle via filter chains. ([source](https://github.com/spring-cloud/spring-cloud-gateway#readme))

### Development Tools & Productivity

- [Request Path Rewriters](https://awesome-repositories.com/f/development-tools-productivity/path-managers/path-modifiers/request-path-rewriters.md) — Provides utilities for rewriting URL paths and modifying headers before they reach backend services. ([source](https://github.com/spring-cloud/spring-cloud-gateway#readme))

### Part of an Awesome List

- [API Gateways](https://awesome-repositories.com/f/awesome-lists/devtools/api-gateways.md) — Routing and filtering solution for the Spring ecosystem.
