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. |
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla