Exploración de la arquitectura de microservicios

Completado

Hoy en día, con frecuencia escuchará el término "microservicios". Un microservicio es un componente de software autónomo, implementable de forma independiente y escalable.

Son pequeños, se centran en hacer bien una cosa y pueden ejecutarse de forma autónoma. Si un microservicio cambia, no debería afectar a ningún otro microservicio de su entorno.

Al elegir una arquitectura de microservicios, creará un panorama de servicios que se pueden desarrollar, probar e implementar por separado. Implica otros riesgos y complejidad.

Sería mejor si lo creara para realizar un seguimiento de las interfaces y de su interacción. Además, debe mantener varios ciclos de vida de aplicación en lugar de uno.

Diagram showing a microservice architecture with multiple applications.

En una aplicación tradicional, a menudo podemos ver una arquitectura de varias capas.

Una capa con la interfaz de usuario, una capa con la lógica de negocios y los servicios y una capa con los servicios de datos.

A veces hay equipos dedicados para la interfaz de usuario y el back-end. Cuando algo tiene que cambiar, debe cambiar en todas las capas.

Al avanzar hacia una arquitectura de microservicios, todas estas capas forman parte del mismo microservicio.

Solo el microservicio contiene una función específica.

La interacción entre los microservicios se realiza de forma asincrónica.

No se llaman entre sí directamente, sino que usan mecanismos asincrónicos como colas o eventos.

Cada microservicio tiene su ciclo de vida y la canalización de entrega continua. Si los ha creado correctamente, podría implementar nuevas versiones de microservicio sin que ello afecte a otras partes del sistema.

Sin duda, la arquitectura de microservicios no es un requisito previo para la entrega continua, pero los componentes de software más pequeños ayudan a implementar una canalización completamente automatizada.