Zuul proxy as the API Gateway
In most microservices implementations, internal microservices endpoints are not exposed outside. They are kept as private services. A set of public services will be exposed to the clients using an API Gateway. There are many reasons to do this, some of which are listed as follows:
- Only a selected set of microservices are required by the clients.
- If there are client-specific policies to be applied, it is easy to apply them in a single place rather than in multiple places. An example of such a scenario is the cross-origin access policy.
- It is hard to implement client-specific transformations at the service endpoint.
- If there is data aggregation required, especially to avoid multiple client calls in a bandwidth restricted environment, then a gateway is required in the middle.
Zuul is a simple gateway service or edge service, which well suits such situations. Zuul also came from the Netflix family of microservices products. Unlike many enterprise API gateway products...