sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongo Change Streams ejecutándose varias veces (más o menos):aplicación de nodo que ejecuta varias instancias

Hacer esto con fuertes garantías es difícil pero no imposible. Escribí sobre los detalles de una solución aquí:https://www.alechenninger.com/2020/05/building-kafka-like-message-queue-with.html

Los ejemplos están en Java pero lo importante es el algoritmo.

Todo se reduce a algunas técnicas:

  • Cada proceso intenta obtener un bloqueo
  • Cada cerradura (o cada cambio) tiene una ficha de esgrima asociada
  • El procesamiento de cada cambio debe ser idempotente
  • Mientras se procesa el cambio, el token se usa para garantizar actualizaciones ordenadas y efectivas una sola vez.

Más detalles en la publicación del blog.