Los Microservices es un estilo arquitectónico que
estructura una aplicación empresarial como una colección de servicios
ligeramente acoplados, con un enfoque de desarrollo de una sola aplicación o
modulo. Donde cada una de las aplicaciones o servicios son independientes y
cada uno de estos ejecuta su propio proceso.
Están construidos para satisfacer necesidades
puntuales del negocio, o cubren un requerimiento puntual de un módulo específico
del negocio, en simples palabras es crear programas independientes que hagan
una sola cosa, pero que la hagan bien.
La comunicación entre los Microservices debe ser
de forma ligera (API's, HTTP) y también la comunicación con otros servicios
debe ser de forma asíncrona, ya que como se mencionaba antes cada Microservice
tiene su propio proceso de ejecución independiente, dicha forma de comunicación
tiene que ser universal para que sea de manera fluida y eficiente.
Características de los Microservices:
- Totalmente
autónomos y abstractos.
- Como
recomendación deben ser Stateless.
- Poseen
funcionalidades limitadas.
- Organizados
por capacidades, módulos o por una especialidad de trabajo.
- Poliglotas.
- Soportan la interoperabilidad por mecanismos de comunicación basada en mensajes.
Restricciones acerca de los Microservies:
- Inexperiencia
- Poca
documentación existente.
- Oferta
del mercado.
- Nueva
tecnología.


