¿ReSolveJS generalmente se ejecuta como una sola aplicación NodeJS en el servidor para la implementación de producción?
Por supuesto, los modelos de almacenamiento y lectura de eventos pueden ser aplicaciones separadas (por ejemplo, bases de datos), pero ¿se manejan el lado de lectura y el lado de escritura de CQRS en la misma aplicación NodeJS?
Si es así, ¿pueden/podrían dividirse para que puedan escalar por separado, dada la premisa de CQRS de que el lado de lectura suele ser mucho más activo que el lado de escritura?
La plataforma reSolve Cloud puede aliviar estas preocupaciones, dado el uso de Lambdas que pueden escalar de forma natural. ¿Quizás esta es la opción de implementación de producción recomendada?
Es decir, desarrollar y probar como monolito (aplicación única de NodeJS) e implementar en producción para resolver Cloud Platform para permitir la escalabilidad.
Gracias de nuevo por desarrollar y compartir una plataforma innovadora.
Saludos, Ashley.
La aplicación reSolve se puede escalar como cualquier otra aplicación de NodeJS, utilizando contenedores o cualquier otro mecanismo de escalado.
Así, varias instancias pueden trabajar con el mismo almacén de eventos y es posible configurar varias instancias para trabajar con la misma base de datos de lectura, o para que cada instancia tenga su propia base de datos de lectura.
La lógica de configuración de reSolve se especifica en el código run.js de la aplicación, por lo que puede ampliarla para tener diferentes configuraciones para diferentes tipos de instancias.
O puede tener el mismo código en todas las instancias y simplemente enrutar el comando y las consultas a los diferentes grupos de instancias.
Por supuesto, reSolve Cloud lo libera de estas preocupaciones, en este caso, usa reSolve local como entorno de desarrollo y prueba, y lo implementa allí.
Tenga en cuenta que reSolve Cloud aún no se ha lanzado públicamente. Además, reSolve local no puede tener todos los adaptadores de base de datos requeridos en este momento, por lo que aún no se han escrito.