Nowadays, organizing programs in a microservices architecture has become more and more popular (compared to monolithic architecture). The benefit of decomposing an application into different and smaller services are numerous (e.g., modularity, scalability, integration of heterogeneous and legacy systems, distributed development, and more.)
One problem with microservices architecture is creating horizontal scaling. When there is too much load for one machine to handle, we need to add more and more machines and load the traffic (for example, with a load balancer or a message broker).
NestJs is a progressive node.js framework for building efficient, reliable and scalable server-side applications. Nest helps us create a scalable microservices architecture application by using the message broker solution easily and efficiently (with Redis, RabbitMQ, Kafka and so on).