Microservices API Gateway
Benefits: Instead of specific services, clients talk to the API gateway, which provides a client-specific API.
Drawbacks: Needs to be HA & managed. New services & APIs needs updating the gateway.
Off the shelf:
Commercial:
- AWS API Gateway: Configure each request to a BE service that is an AWS Lambda function, an app http service or AWS service.
- AWS App load balancer: Basic routing to BE services.
Open-source product:
- Kong: nginx http based. Has plugins.
- Traefix: Go based. Integrate with service registries.
Open-source framework:
- Netflix Zuul
- Spring Cloud Gateway
Graph based technologies:
- Netflix Falcor: A Graph query implementation. Netflix started with Groovy API scripts in a monolithic architecture. Moved to an API modules using NodeJS & Docker, where scripts invoke an API gateway using Netflix Falcor. Falcor does declarative dynamic API composition & can invoke multiple services in a single request.
- Facebook GraphQL: a standard with clients & servers available in multiple languages, such as NodeJS, Java & Scala.
- Apollo GraphQL: JS/NodeJS implementation with useful extensions to GraphQL with a server & client.
Source: Microservices Patterns by Chris Richardson