Comunicación de microservicios
Una regla importante en la arquitectura de microservicios es que cada microservicio debe poseer sus datos y lógica de dominio. Del mismo modo que una aplicación completa posee su lógica y datos, también cada microservicio debe tener su lógica y datos bajo un ciclo de vida autónomo, con despliegue independiente de otros.
Esto significa que el modelo conceptual del dominio puede diferir entre subsistemas o microservicios. Muchas aplicaciones empresariales de gestión de relaciones con los clientes (CRM – Customer Relationship Management), los subsistemas de compras transaccionales y los subsistemas de atención al cliente, utilizan cada uno atributos y datos particulares del cliente, pero cada uno ve al cliente de una forma particular y emplea un sistema autónomo diferente.
Por otro lado, el enfoque tradicional utilizado en muchas aplicaciones, es tener una base de datos única y centralizada.
Yendo aún más lejos, los microservicios diferentes podrían usar distintos tipos de base de datos. Las aplicaciones modernas almacenan y procesan diversos tipos de datos y una base de datos relacional no siempre es la mejor opción. Para algunos casos, una base de datos NoSQL como MongoDB podría ser un modelo más conveniente y ofrecer un mejor rendimiento y escalabilidad que un base de datos SQL como SQL server o MySql. Por lo tanto, las aplicaciones basadas en microservicios a menudo usan una mezcla de base de datos SQL y NoSQL, que a veces se denomina enfoque de persistencia poliglota
No hay comentarios:
Publicar un comentario