At gøre dette med stærke garantier er svært, men ikke umuligt. Jeg skrev om detaljerne i en løsning her:https://www.alechenninger.com/2020/05/building-kafka-like-message-queue-with.html
Eksemplerne er i Java, men den vigtige del er algoritmen.
Det kommer ned til et par teknikker:
- Hver proces forsøger at opnå en lås
- Hver lås (eller hver ændring) har et tilknyttet hegnstoken
- Behandling af hver ændring skal være idempotent
- Mens ændringen behandles, bruges tokenet til at sikre ordnede, effektive opdateringer.
Flere detaljer i blogindlægget.