sql >> Base de Datos >  >> NoSQL >> Redis

Arquitectura de microservicios para acceso a datos de alta frecuencia; en soluciones de memoria?

Ahora discutimos una arquitectura de microservicio para el problema, debido a la escalabilidad necesaria de la aplicación en producción. También para fines de desarrollo, esto es crucial, porque Task1 y Task2 se agregaron recientemente nuevas funciones/parámetros y se escalan de manera diferente en el desarrollo.

Esto es exactamente lo que está haciendo bien una plataforma de procesamiento de flujo. Recomiendo usar un sistema como Apache Kafka o Apache Pulsar para este problema.

¿Debería haber al menos dos servicios diferentes para Task1 y Task2 y tal vez incluso uno para el control de estado de iteración/simulación real?

Task1 y Task2 son lo que se llama procesadores de flujo , leyeron (suscribieron) un tema , hacer algunas operaciones/transformaciones y escribir (publicar) a otro tema .

La pregunta principal aquí es ¿cuáles son los argumentos para una arquitectura de microservicio debido probablemente a un cuello de botella de comunicación/red? ¿La única forma de acelerar esto es generar todos los datos necesarios para la tarea de simulación en la memoria y mantenerlos allí todo el tiempo, para evitar el cuello de botella de la red?

Nuevamente, este es exactamente el problema de que un sistema como Apache Kafka o Apache Pulsar está funcionando bien. Para escala escribe y lee en un sistema de procesamiento de secuencias, puede particionar tus temas .