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 | Ervoor zorgen dat elk onderdeel van het systeem deelneemt aan het besluitvormingsproces over de werkstroom van een bedrijfstransactie, in plaats van te vertrouwen op een centraal beheerpunt. |
| 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-abonnee | 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. |
| 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. |