Saturday, December 12, 2020

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

No comments:

Post a Comment

Why is Go fast?

Why is Go fast? Go has become popular for microprocesses & for scaling. What are the design decisions that make Go fast? Summary: 1. Cle...