/Curso_NestJS_Microservicios

This repository is from a course on microservices with Nest.js by Fernando Herrera that is in DevTalles

Primary LanguageTypeScript

Microservices: Quick Guide


What are Microservices?

Microservices are a software design architecture where an application is composed of small independent services, each running a single process and communicating via lightweight protocols.


When is it convenient to use a Microservices Architecture?

Using a microservices architecture can be convenient in several situations:

  1. Scalability: Microservices allow specific parts of an application to scale independently, facilitating efficient management of resources.

  2. Agile Development: Small teams can work independently on different microservices, accelerating development and allowing for more frequent updates.

  3. Heterogeneous Technologies: If an application needs to use different technologies for different parts of the system, microservices allow you to choose the most appropriate technology for each one.

  4. Resilience and Fault Tolerance: By separating components into independent microservices, failures in one service will not necessarily affect others, increasing the resilience of the overall system.

  5. Maintainability: By breaking an application into smaller, more manageable components, maintenance and debugging can be easier, since changes to one service will not affect others.


Potential Disadvantages

It is important to keep in mind some potential disadvantages of microservices, such as the complexity in managing communication between microservices, the increase in operational complexity, the possible overhead of network operations, and the need for careful planning and design to avoid coordination problems between services.


Additional Resources