
Topic 1: message queues
Wij werken veel met ‘realtime’ dataverwerking. Echter, soms is het interessanter om dit niet realtime aan te pakken. Een message queue is eigenlijk een wachtrij.
De spreker over dit onderwerp had een mooie vergelijking, dit ging om het optimaal benutten van de resources die je tot je beschikking hebt.
Bij het inchecken voor het evenement moeten er 8.000+ bezoekers ingecheckt worden en een pasje krijgen. Als al die bezoekers tegelijk bij de balie staan te drammen, heb je ontzettend veel personeel nodig en ontstaat er chaos. Daar houden wij developers niet van…
Door de bezoekers op te delen in wachtrijen, kunnen ze een handjevol personeel meerdere rijen tegelijk laten verwerken. Wachten er heel veel bezoekers? Dan komt er een rij bij. En vice versa: op de tweede dag zijn de meeste bezoeker al ingecheckt, waardoor één rij al volstaat.
Dit geldt ook voor applicaties. Een hoop processen kunnen prima in een rij gezet worden om daarna verwerkt te worden. Oók voor de gebruikerservaring kunnen hier een hoop zaken door geoptimaliseerd worden.
Denk bijvoorbeeld aan een vrij grote export uit je systeem. Wanneer dit realtime gegenereerd wordt, heb je kans dat je een tiental seconden moet wachten tot het bestand klaar is. Wanneer je dit verzoek in een ‘queue’ zet, en vervolgens een seintje laat geven wanneer de export klaar staat, kun je als gebruiker gewoon verder in het systeem zonder te hoeven wachten tot het bestand klaar is. Klinkt logisch, toch?