sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongo Change Streams körs flera gånger (typ):Nodapp som kör flera instanser

Att göra detta med starka garantier är svårt men inte omöjligt. Jag skrev om detaljerna för en lösning här:https://www.alechenninger.com/2020/05/building-kafka-like-message-queue-with.html

Exemplen finns i Java men den viktiga delen är algoritmen.

Det handlar om några tekniker:

  • Varje process försöker få ett lås
  • Varje lås (eller varje ändring) har en tillhörande fäktningstoken
  • Bearbetningen av varje ändring måste vara idempotent
  • Medan ändringen bearbetas används token för att säkerställa ordnade, effektiva uppdateringar.

Mer information i blogginlägget.



  1. Hur man lagrar en Complex Nested JSON i Redis med Python

  2. Det gick inte att koppla Mongoose till Atlas

  3. Konfigurera Jedis timeout

  4. Med tanke på en lista över ID, vad är det bästa sättet att fråga vilka ID som inte finns i samlingen?