Usługa Service Bus i niezawodność

W pełni zarządzaj brokerem komunikatów przedsiębiorstwa za pomocą kolejek komunikatów i tematów publikowania subskrypcji używanych w Azure Service Bus. Ta usługa przechowuje komunikaty w brokerze (na przykład w kolejce), dopóki strona zużywające nie będzie gotowa do odbierania komunikatów.

Korzyści to:

  • Równoważenie obciążenia między konkurencyjnymi procesami roboczymi.
  • Bezpieczne routing i transferowanie danych oraz kontrola między usługami i granicami aplikacji.
  • Koordynowanie pracy transakcyjnej, która wymaga wysokiego stopnia niezawodności.

Aby uzyskać więcej informacji na temat korzystania z usługi Service Bus, zobacz Azure Service Bus Messaging. Dowiedz się, jak skonfigurować obsługę komunikatów łączących aplikacje i usługi w środowiskach lokalnych i chmurowych.

Aby dowiedzieć się, jak usługa Service Bus przyczynia się do niezawodnego obciążenia, zapoznaj się z następującymi tematami:

W poniższych sekcjach opisano Azure Service Bus i niezawodność:

  • Zagadnienia dotyczące projektowania
  • Lista kontrolna konfiguracji
  • Zalecane opcje konfiguracji
  • Artefakty źródłowe

Zagadnienia dotyczące projektowania

Maksymalizuj niezawodność dzięki umowie SLA Azure Service Bus czasu pracy. Prawidłowo skonfigurowane aplikacje mogą wysyłać lub odbierać komunikaty albo wykonywać inne operacje w wdrożonej kolejce lub temacie. Aby uzyskać więcej informacji, zapoznaj się z umową SLA usługi Service Bus.

Inne zagadnienia dotyczące projektowania obejmują:

Oprócz dokumentacji w warstwach obsługi komunikatów Usługi Service Bus Premium i Standardowa następujące funkcje są dostępne tylko w jednostce przechowywania zapasów w warstwie Premium (SKU):

W przypadku wdrażania usługi Service Bus z odzyskiwaniem po awarii geograficznej i w strefach dostępności znacznie zwiększa się operacja poziomu usług (SLO), ale nie zmienia czasu działania umowy SLA.

Lista kontrolna

Czy skonfigurowano Azure Service Bus z myślą o niezawodności?

  • Ocena korzyści z warstwy Premium Azure Service Bus.
  • Upewnij się, że wyjątki obsługi komunikatów usługi Service Bus są prawidłowo obsługiwane.
  • Połącz się z usługą Service Bus za pomocą protokołu ADVANCED Messaging Queue Protocol (AMQP) i w miarę możliwości używaj punktów końcowych usługi lub prywatnych punktów końcowych.
  • Zapoznaj się z najlepszymi rozwiązaniami dotyczącymi ulepszeń wydajności przy użyciu komunikatów usługi Service Bus.
  • Zaimplementuj replikację geograficzną po stronie nadawcy i odbiorcy, aby chronić przed awariami i awariami.
  • Konfigurowanie awarii geograficznej.
  • Jeśli potrzebujesz komunikatów o znaczeniu krytycznym z kolejkami i tematami, zaleca się użycie usługi Service Bus Premium w usłudze Geo-Disaster Recovery.
  • Skonfiguruj nadmiarowość strefy w przestrzeni nazw usługi Service Bus (dostępna tylko w warstwie Premium).
  • Zaimplementuj wysoką dostępność dla przestrzeni nazw usługi Service Bus.
  • Upewnij się, że powiązane komunikaty są dostarczane w gwarantowanej kolejności.
  • Oceń różne funkcje usługi Java Messaging Service (JMS) za pomocą interfejsu API JMS.
  • Używanie pakietów NuGet platformy .NET do komunikowania się z jednostkami obsługi komunikatów usługi Service Bus.
  • Zaimplementuj odporność na obsługę błędów przejściowych podczas wysyłania lub odbierania komunikatów.
  • Zaimplementuj automatyczne skalowanie jednostek obsługi komunikatów.

Zalecenia dotyczące konfiguracji

Podczas konfigurowania Azure Service Bus należy wziąć pod uwagę następujące zalecenia:

Zalecenie Opis
Ocena korzyści z warstwy Premium Azure Service Bus. Rozważ migrację do warstwy Premium usługi Service Bus, aby skorzystać z obsługiwanej przez platformę awarii i ochrony po awarii.
Połącz się z usługą Service Bus przy użyciu protokołu AMQP i użyj punktów końcowych usługi lub prywatnych punktów końcowych, jeśli jest to możliwe. To zalecenie utrzymuje ruch w sieci szkieletowej platformy Azure. Uwaga: domyślnym protokołem połączenia dla Microsoft.Azure.ServiceBus przestrzeni nazw i Windows.Azure.ServiceBus przestrzeniami nazw jest AMQP.
Zaimplementuj replikację geograficzną po stronie nadawcy i odbiorcy, aby chronić przed awariami i awariami. Warstwa Standardowa obsługuje tylko implementację nadmiarowości geograficznej po stronie nadawcy i odbiorcy. Awaria lub awaria w regionie świadczenia usługi Azure może spowodować przestój rozwiązania.
Konfigurowanie awarii geograficznej. - Aktywne/aktywne
- Aktywne/pasywne
- Sparowana przestrzeń nazw (aktywna/pasywna)
- Uwaga: Region pomocniczy powinien być regionem sparowanym platformy Azure.
Jeśli potrzebujesz komunikatów o znaczeniu krytycznym z kolejkami i tematami, zaleca się użycie usługi Service Bus Premium w usłudze Geo-Disaster Recovery. Wybór wzorca zależy od wymagań biznesowych i celu czasu odzyskiwania (RTO).
Skonfiguruj nadmiarowość strefy w przestrzeni nazw usługi Service Bus (dostępna tylko w warstwie Premium). Nadmiarowość strefy obejmuje trzy kopie magazynu obsługi komunikatów. Jedna strefa jest przydzielana jako podstawowy magazyn komunikatów, a pozostałe strefy są przydzielane jako pomocnicze. Jeśli strefa podstawowa stanie się niedostępna, pomocnicza zostanie podwyższona do poziomu podstawowego bez możliwego przestoju. Strefy dostępności są dostępne w podzestawie regionów platformy Azure z nowymi regionami dodanymi regularnie.
Zaimplementuj wysoką dostępność dla przestrzeni nazw usługi Service Bus. Warstwa Premium obsługuje odzyskiwanie po awarii geograficznej i replikację na poziomie przestrzeni nazw. Na tym poziomie warstwa Premium zapewnia wysoką dostępność odzyskiwania po awarii metadanych przy użyciu podstawowych i pomocniczych przestrzeni nazw odzyskiwania po awarii.
Upewnij się, że powiązane komunikaty są dostarczane w gwarantowanej kolejności. Należy pamiętać o konieczności ustawienia klucza partycji, identyfikatora sesji lub identyfikatora komunikatu dla każdego komunikatu w celu zapewnienia wysyłania powiązanych komunikatów do tej samej partycji w jednostce obsługi komunikatów.
Oceń różne funkcje JMS za pomocą interfejsu API JMS. Funkcje dostępne za pośrednictwem interfejsu API JMS 2.0 (i zestawu SDK) nie są takie same jak funkcje dostępne za pośrednictwem natywnego zestawu SDK. Na przykład sesje usługi Service Bus nie są dostępne w programie JMS.
Zaimplementuj odporność na obsługę błędów przejściowych podczas wysyłania lub odbierania komunikatów. Niezbędne jest zaimplementowanie odpowiedniej obsługi błędów przejściowych i obsługi błędów dla operacji wysyłania i odbierania w celu utrzymania przepływności oraz zapobiegania utracie komunikatów.
Zaimplementuj automatyczne skalowanie jednostek obsługi komunikatów, aby upewnić się, że masz wystarczającą ilość zasobów dostępnych dla obciążeń.

Artefakty źródłowe

  • Aby zidentyfikować wystąpienia usługi Service Bus w warstwie Premium, które nie korzystają z prywatnych punktów końcowych, użyj następującego zapytania:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and isempty(properties.privateEndpointConnections)
    
  • Aby zidentyfikować wystąpienia usługi Service Bus, które nie znajdują się w warstwie Premium, użyj następującego zapytania:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier != 'Premium'
    
  • Aby zidentyfikować wystąpienia usługi Service Bus w warstwie Premium, które nie są strefowo nadmiarowe, użyj następującego zapytania:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and properties.zoneRedundant == 'false'
    

Następny krok