Cómo se puede implementar esto depende de la naturaleza del caso de uso, por ejemplo, tomemos un sistema de clasificación de películas construido con microservicios y persistencia políglota, que básicamente es un término elegante que significa que cuando se almacenan datos, es mejor usar múltiples almacenamientos de datos. NoSQL, RDMS (sistema de gestión de bases de datos relacionales), archivos, etc., que se eligen en función de la forma en que las aplicaciones individuales utilizan los datos. Entonces, en el siguiente ejemplo, tenemos una arquitectura basada en microservicios para una aplicación hipotética de calificación de películas con los siguientes microservicios
Autenticación y administración de usuarios : (RDMS), debido a la naturaleza relacional de los datos que MySQL sería más adecuado para este caso, no obtenemos beneficios reales significativos de NoSQL a menos que los conjuntos de datos se vuelvan enormes.
Directorio de películas : los datos (combinación de RDMS y búsqueda elástica NoSQL) pueden transmitirse desde nuestro directorio de películas a la búsqueda elástica utilizando controladores disponibles para que podamos aprovechar una mejor búsqueda de texto completo con sugerencias de términos y sugerencias de frases
- Para las empresas web, ¿es mejor saber codificar y contratar a un vendedor de Internet o conocer el mercado de Internet y contratar codificadores?
- ¿Qué lenguajes de programación alguna vez fueron emocionantes y esenciales pero ahora se están desvaneciendo?
- ¿Debo seguir el desarrollo de GWT en Java? Recientemente, descubrí una tecnología que es GWT para aplicaciones web que usan el marco Errai pero tiene una comunidad pequeña, ¿debería seguir promoviéndola especialmente para los próximos años?
- ¿De qué manera ha cambiado el desarrollo web desde la década de 1990 hasta ahora?
- ¿Cómo podría el diseño de la interfaz de usuario convertirse en un desarrollador front-end? ¿Qué debo preparar?
Calificaciones del usuario = (Mongo \ couch dB) Potencial para grandes conjuntos de datos, también podemos aprovechar el escalado elástico de NoSQL , la capacidad de manejo de datos más grandes y la función de almacenamiento en caché integrado. También podemos reemplazar el mongo \ couchdb con Neo4j y generar recomendaciones usando Apache Spark.
Pedidos de películas = (datos transaccionales en tiempo real RDMS)
El uso de microservicios es un enfoque que facilita un enfoque desacoplado en el que las aplicaciones individuales que tienen su propio almacenamiento de persistencia interactúan a través de proxies API / colas de mensajes, etc. Esto puede ser en una ventana acoplada en contenedores o en una implementación convencional.
En un enfoque monolítico, podemos aprovechar los patrones de diseño y el código para controlar a qué base de datos se accede mediante qué servicios / funciones o mediante configuraciones, todo depende del lenguaje de programación y los marcos que esté utilizando.
La persistencia de Polyglot puede sonar genial y, en ciertos casos, ofrece un gran rendimiento, pero tenga en cuenta que cuantos más almacenamientos agregue, esto a su vez puede aumentar sus puntos de dolor y complejidades. Cada solución de almacenamiento de datos significa una deuda técnica adicional. Asegúrese de sopesar a los profesionales y reduzca su deuda lo más posible