Wzorce obsługi wiadomości

Rozproszony charakter aplikacji w chmurze wymaga infrastruktury obsługi komunikatów, która łączy składniki i usługi, najlepiej w luźno powiązany sposób w celu zapewnienia maksymalnej skalowalności. Asynchroniczna obsługa komunikatów jest powszechnie używana i oferuje wiele korzyści, ale także niesie ze sobą wyzwania, takie jak porządkowanie komunikatów, zarządzanie skażonymi komunikatami, idempotentność i inne.

Wzorce Podsumowanie
Asynchroniczne operacje żądanie-odpowiedź Oddzielenie przetwarzania zaplecza od hosta frontonu, kiedy przetwarzanie zaplecza musi być asynchroniczne, a fronton nadal potrzebuje jasnej odpowiedzi.
Sprawdzanie oświadczenia Podziel duży komunikat na sprawdzanie oświadczenia i ładunek, aby uniknąć przeciążania magistrali komunikatu.
Choreografia Każdy składnik systemu uczestniczy w procesie podejmowania decyzji na temat przepływu pracy transakcji biznesowej, zamiast polegać na centralnym punkcie kontroli.
Konkurujący odbiorcy Umożliwianie wielu równoczesnym odbiorcom przetwarzania komunikatów odebranych w tym samym kanale obsługi komunikatów.
Potoki i filtry Podział zadania wykonującego złożone przetwarzanie na serię oddzielnych elementów, które mogą być używane ponownie.
Kolejka priorytetowa Priorytetyzacja żądań wysyłanych do usługi, tak aby żądania o wyższym priorytecie były odbierane i przetwarzane znacznie szybciej niż te o niższym priorytecie.
Wydawca-subskrybent Umożliwianie aplikacji asynchronicznego informowania o zdarzeniach zainteresowanych odbiorców bez sprzęgania nadawców z odbiorcami.
Wyrównywanie obciążeń przy użyciu kolejki Używanie kolejki, która pełni rolę bufora między zadaniem i wywoływanym przez nie usługą w celu złagodzenia sporadycznych dużych obciążeń.
Saga Zarządzanie spójnością danych między mikrousługami w scenariuszach transakcji rozproszonych. Saga to sekwencja transakcji, która aktualizuje każdą usługę i publikuje komunikat lub zdarzenie w celu wyzwolenia następnego kroku transakcji.
Agent harmonogramu — nadzorca Koordynowanie zestawu akcji w rozproszonym zestawie usług i innych zasobach zdalnych.
Sekwencyjny konwój Przetwarzanie zestawu powiązanych komunikatów w zdefiniowanej kolejności bez blokowania przetwarzania innych grup komunikatów.