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.