Simplify the consumption of multiple services by using a single endpoint, that routes requests to the appropriate backend services.
Problem
Setting up and managing each endpoint for backend service, that client can consume can be challenging. When the API changes, the client must change as well. Even for simple solutions, with few backend services, the process of setting up them individually can be very daunting.
Solution
Create a gateway in front of a set of backend services. The client applications need to communicate and to know only about the gateway. If services are updated, changed, or even removed, the client does not need to know anything about it. The client will continue to make calls to the gateway, and only the routing will change.
Gateway Routing pattern also helps with deployment, because multiple versions of the same services can be used in parallel, only routing needs to change.
Related Patterns
- Gateway Patterns
- Backends for Frontends pattern
- Gateway Aggregation pattern
- Gateway Routing pattern
- Gateway Offloading pattern