API Gateway design patterns and aspects
Now that we know what API Gateway handles, lets throughout now look at common design aspects involved in API Gateway. In this section, we will look at all design aspects to be considered while designing API Gateway. We will understand modes of designing API Gateway which will help us to design a scalable system with high availability.
Being a core part which handles centralized concerns and being the starting point in microservices, API Gateway should be designed so that:
- It embraces concurrency: Being heavily distributed due to designing based on single responsibility, server-side concurrency is needed which can reduce the network chattiness. Node.js being non-blocking and asynchronous, each request executes in parallel with other requests and thereby a single heavy client request is not much better than many light non-concurrent requests. While business use cases may need blocking calls to backend systems, API Gateway should compose these calls via...