MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mongo Change Streams executando várias vezes (mais ou menos):aplicativo Node executando várias instâncias


Fazer isso com fortes garantias é difícil, mas não impossível. Eu escrevi sobre os detalhes de uma solução aqui:https://www.alechenninger.com/2020/05/building-kafka-like-message-queue-with.html

Os exemplos estão em Java, mas a parte importante é o algoritmo.

Tudo se resume a algumas técnicas:
  • Cada processo tenta obter um bloqueio
  • Cada bloqueio (ou cada alteração) tem um token de vedação associado
  • O processamento de cada alteração deve ser idempotente
  • Ao processar a alteração, o token é usado para garantir atualizações ordenadas e efetivas.

Mais detalhes na postagem do blog.