Berichtenpatronen

De gedistribueerde aard van cloudtoepassingen vereist een infrastructuur voor berichten die de onderdelen en services met elkaar verbindt, bij voorkeur op een niet-strikte manier om de schaalbaarheid te maximaliseren. De techniek van asynchrone berichten wordt veel gebruikt en biedt dan ook veel voordelen. Er zijn echter ook punten van aandacht, zoals de positie van berichten, het beheer van onverwerkbare berichten en idempotentie.

Patroon Samenvatting
Asynchroon aanvraag-antwoord Ontkoppel de back-endverwerking van een front-endhost waar de back-endverwerking asynchroon moet zijn, maar de front-end nog steeds een duidelijke respons nodig heeft.
Claimcontrole Een groot bericht opsplitsen in een claimcontrole en een nettolading om te voorkomen dat een berichtenbus wordt overbelast.
Choreografie Laat elk onderdeel van het systeem deelnemen aan het besluitvormingsproces over de werkstroom van een zakelijke transactie, in plaats van te vertrouwen op een centraal controlepunt.
Concurrerende consumenten Meerdere gelijktijdige consumenten inschakelen voor het verwerken van berichten die op hetzelfde kanaal worden ontvangen.
Pijpen en filters Een taak waarmee een complexe verwerking wordt uitgevoerd, opsplitsen in een reeks afzonderlijke elementen die kunnen worden hergebruikt.
Wachtrij met prioriteit Prioriteit geven aan aanvragen die worden verzonden naar services, zodat aanvragen met een hogere prioriteit sneller worden ontvangen en verwerkt dan aanvragen met een lagere prioriteit.
Publisher-Subscriber Een toepassing in staat stellen om asynchroon meerdere geïnteresseerde consumenten op de hoogte te brengen van gebeurtenissen, zonder dat de afzenders aan de ontvangers worden gekoppeld.
Load Leveling op basis van wachtrij Een wachtrij gebruiken die fungeert als een buffer tussen een taak en een service die wordt aangeroepen om onregelmatige zware belastingen soepel te verwerken.
Saga Gegevensconsistentie beheren in microservices in scenario's met gedistribueerde transacties. Een saga is een reeks transacties die elke service bijwerken en een bericht of gebeurtenis publiceert om de volgende transactiestap te activeren.
Scheduler Agent Supervisor Een set acties coördineren binnen een gedistribueerde set services en andere externe resources.
Sequentiële verwerking Een reeks gerelateerde berichten in een gedefinieerde volgorde verwerken zonder de verwerking van andere groepen berichten te blokkeren.