Wybieranie rozwiązania kolejki komunikatów

Ukończone

Kolejki magazynu i kolejki usługi Service Bus mają nieco inny zestaw funkcji. Możesz wybrać jedną lub obie, w zależności od potrzeb konkretnego rozwiązania.

Podczas określania, która technologia kolejkowania pasuje do celu danego rozwiązania, architekci rozwiązań i deweloperzy powinni rozważyć te zalecenia.

Rozważ użycie kolejek usługi Service Bus

Jako architekt rozwiązań/deweloper należy rozważyć użycie kolejek usługi Service Bus, gdy:

  • Rozwiązanie musi odbierać komunikaty bez konieczności sondowania kolejki. Dzięki usłudze Service Bus można to osiągnąć przy użyciu długotrwałej operacji sondowania odbierania przy użyciu protokołów opartych na protokole TCP, które obsługuje usługa Service Bus.
  • Rozwiązanie wymaga, aby kolejka zapewniała gwarantowane dostarczanie uporządkowane na pierwszym w pierwszym wyjściu (FIFO).
  • Rozwiązanie musi obsługiwać automatyczne wykrywanie duplikatów.
  • Aplikacja ma przetwarzać komunikaty jako równoległe strumienie długotrwałe (komunikaty są skojarzone ze strumieniem przy użyciu właściwości identyfikatora sesji w komunikacie). W tym modelu każdy węzeł w aplikacji korzystającej konkuruje ze strumieniami, w przeciwieństwie do komunikatów. Gdy strumień zostanie przekazany do węzła zużywanego, węzeł może zbadać stan stanu strumienia aplikacji przy użyciu transakcji.
  • Rozwiązanie wymaga zachowania transakcyjnego i niepodzielności podczas wysyłania lub odbierania wielu komunikatów z kolejki.
  • Aplikacja obsługuje komunikaty, które mogą przekraczać 64 KB, ale prawdopodobnie nie zbliży się do limitu 256 KB lub 1 MB, w zależności od wybranej warstwy usługi (chociaż kolejki usługi Service Bus mogą obsługiwać komunikaty do 100 MB).
  • Zajmujesz się wymaganiem, aby zapewnić model dostępu opartego na rolach do kolejek oraz różne prawa/uprawnienia dla nadawców i odbiorców.

Rozważ użycie kolejek usługi Storage

Jako architekt rozwiązań/deweloper należy rozważyć użycie kolejek usługi Storage, gdy:

  • Aplikacja musi przechowywać ponad 80 gigabajtów komunikatów w kolejce.
  • Aplikacja chce śledzić postęp przetwarzania komunikatu w kolejce. Jest to przydatne, jeśli proces roboczy przetwarza komunikat ulega awarii. Inny proces roboczy może następnie użyć tych informacji, aby kontynuować od miejsca, w którym poprzedni pracownik opuścił.
  • Wymagane są dzienniki po stronie serwera wszystkich transakcji wykonywanych względem kolejek.