Api gateway

  • An API gateway is a server that acts as a single point of entry for a set of microservices.

Usages

  • Routing

  • Authentication and Authorization

    • authenticate clients and enforce access control policies for the microservices

  • Rate limiting

  • Load balancing

  • Caching

  • Monitoring

    • collect metrics and other data about requests and responses

  • Transformation

    • transform the data received from the microservices into a format that is more convenient for the clients or servers to use

    • To different formats, or aggregating data for clietns

    • Request and response validation

  • Service discovery

    • discover the available microservices and their locations, enabling the clients to access them without knowing their specific addresses

  • Circuit breaker

    • prevent a single failed microservice from bringing down the entire system. The circuit breaker can monitor the health of the microservices and automatically fail over to a backup service if necessary.

Advantages

  • Improved performance

    • enabling it to handle a larger number of requests and respond more quickly to the clients.

  • Simplified system design

    • makes it easier for the clients to access the various microservices.

  • Enhanced security

  • Improved scalability

    • By load balancing

  • Better monitoring and visibility

Disadvantages

  • Increased complexity

    • increase managing and maintainability

  • Performance overhead

    • another request

  • Single point of failure

    • Can be mitagated by using a hot standby

  • https://levelup.gitconnected.com/system-design-interview-basics-difference-between-api-gateway-and-load-balancer-60260b568121

  • https://medium.com/geekculture/system-design-basics-what-is-an-api-gateway-b858e9491608

Last updated