Sdílet prostřednictvím


Service Bus a spolehlivost

Plně spravujte podnikové zprostředkování zpráv pomocí front zpráv a témat publikování a odběru, která se používají v Azure Service Bus. Tato služba ukládá zprávy v zprostředkovateli (například ve frontě), dokud přijímající strana nebude připravena přijímat zprávy.

Mezi výhody patří:

  • Vyrovnávání zatížení mezi konkurenčními pracovními procesy.
  • Bezpečné směrování a přenos dat a řízení mezi službami a hranicemi aplikací
  • Koordinace transakční práce, která vyžaduje vysoký stupeň spolehlivosti.

Další informace o používání služby Service Bus najdete v tématu Azure Service Bus Zasílání zpráv. Zjistěte, jak nastavit až zasílání zpráv, které spojuje aplikace a služby mezi místními i cloudovými prostředí.

Pokud chcete pochopit, jak Service Bus přispívá ke spolehlivé úloze, projděte si následující témata:

Následující části jsou specifické pro Azure Service Bus a spolehlivost:

  • Na co dát pozor při navrhování
  • Kontrolní seznam konfigurace
  • Doporučené možnosti konfigurace
  • Zdrojové artefakty

Na co dát pozor při navrhování

Maximalizujte spolehlivost pomocí smlouvy SLA o době provozu Azure Service Bus. Správně nakonfigurované aplikace můžou odesílat nebo přijímat zprávy nebo provádět jiné operace s nasazenou frontou nebo tématem. Další informace najdete ve smlouvě SLA služby Service Bus.

Mezi další aspekty návrhu patří:

Kromě dokumentace k úrovním zasílání zpráv Service Bus Premium a Standard jsou k dispozici pouze následující funkce ve skladové jednotce Premium Stock Keeping Unit (SKU):

Při nasazování služby Service Bus s geografickým zotavením po havárii a v zónách dostupnosti se operace na úrovni služby (SLO) výrazně zvýší, ale nezmění dobu provozu ve smlouvě SLA.

Kontrolní seznam

Nakonfigurovali jste Azure Service Bus s ohledem na spolehlivost?

  • Vyhodnoťte výhody Azure Service Bus úrovně Premium.
  • Ujistěte se, že jsou správně zpracovány výjimky zasílání zpráv služby Service Bus .
  • Připojte se ke službě Service Bus pomocí protokolu AMQP (Advanced Messaging Queue Protocol) a pokud je to možné, použijte koncové body služby nebo privátní koncové body.
  • Projděte si osvědčené postupy pro zvýšení výkonu pomocí zasílání zpráv služby Service Bus.
  • Implementujte geografickou replikaci na straně odesílatele a příjemce, abyste se ochránili před výpadky a katastrofami.
  • Konfigurace geografické havárie
  • Pokud potřebujete důležité zasílání zpráv s frontami a tématy, doporučujeme službu Service Bus Premium s Geo-Disaster Recovery.
  • Nakonfigurujte zónovou redundanci v oboru názvů služby Service Bus (k dispozici pouze s úrovní Premium).
  • Implementujte vysokou dostupnost pro obor názvů služby Service Bus.
  • Ujistěte se, že se související zprávy doručují v zaručeně pořadí.
  • Vyhodnoťte různé funkce JMS (Java Messaging Service) prostřednictvím rozhraní JMS API.
  • Ke komunikaci s entitami zasílání zpráv service bus použijte balíčky Nuget .NET.
  • Implementujte odolnost pro zpracování přechodných chyb při odesílání nebo přijímání zpráv.
  • Implementujte automatické škálování jednotek zasílání zpráv.

Doporučení ke konfiguraci

Při konfiguraci Azure Service Bus zvažte následující doporučení pro optimalizaci spolehlivosti:

Doporučení Description
Vyhodnoťte výhody Azure Service Bus úrovně Premium. Zvažte migraci na úroveň Premium služby Service Bus, abyste mohli využít výhod výpadku a ochrany před havárií podporovanou platformou.
Připojte se ke službě Service Bus pomocí protokolu AMQP a pokud je to možné, použijte koncové body služby nebo privátní koncové body. Toto doporučení udržuje provoz na páteřní síti Azure. Poznámka: Výchozí protokol připojení pro Microsoft.Azure.ServiceBus obory názvů a Windows.Azure.ServiceBus je AMQP.
Implementujte geografickou replikaci na straně odesílatele a příjemce, abyste se ochránili před výpadky a katastrofami. Úroveň Standard podporuje pouze implementaci geografické redundance na straně odesílatele a příjemce. Výpadek nebo havárie v oblasti Azure může způsobit výpadek vašeho řešení.
Konfigurace geografické havárie - Aktivní/aktivní
- Aktivní/pasivní
- Spárovaný obor názvů (aktivní/pasivní)
- Poznámka: Sekundární oblast by měla být pokud možno spárovaná oblast Azure.
Pokud potřebujete důležité zasílání zpráv s frontami a tématy, doporučujeme službu Service Bus Premium s Geo-Disaster Recovery. Volba modelu závisí na obchodních požadavcích a cíli doby obnovení (RTO).
Nakonfigurujte zónovou redundanci v oboru názvů služby Service Bus (k dispozici pouze s úrovní Premium). Zónová redundance zahrnuje tři kopie úložiště pro zasílání zpráv. Jedna zóna je přidělena jako primární úložiště zasílání zpráv a ostatní zóny jsou přiděleny jako sekundární. Pokud se primární zóna stane nedostupnou, sekundární zóna se zvýší na primární bez zjevných výpadků. Zóny dostupnosti jsou k dispozici v podmnožině oblastí Azure s pravidelně přidávanými novými oblastmi.
Implementujte vysokou dostupnost pro obor názvů služby Service Bus. Úroveň Premium podporuje geografické zotavení po havárii a replikaci na úrovni oboru názvů. Na této úrovni poskytuje úroveň Premium vysokou dostupnost pro zotavení po havárii metadat pomocí primárních a sekundárních oborů názvů zotavení po havárii.
Ujistěte se, že se související zprávy doručují v zaručeně pořadí. Mějte na paměti požadavek na nastavení klíče oddílu, ID relace nebo ID zprávy u každé zprávy, abyste zajistili, že se související zprávy posílají do stejného oddílu v entitě zasílání zpráv.
Vyhodnoťte různé funkce JMS prostřednictvím rozhraní JMS API. Funkce dostupné prostřednictvím rozhraní API JMS 2.0 (a sady SDK) nejsou stejné jako funkce dostupné prostřednictvím nativní sady SDK. Například relace služby Service Bus nejsou v JMS k dispozici.
Implementujte odolnost pro zpracování přechodných chyb při odesílání nebo přijímání zpráv. Je nezbytné implementovat vhodné zpracování přechodných chyb a zpracování chyb pro operace odesílání a příjmu, aby se zachovala propustnost a zabránilo se ztrátě zpráv.
Implementujte automatické škálování jednotek zasílání zpráv, abyste měli k dispozici dostatek prostředků pro vaše úlohy.

Zdrojové artefakty

  • K identifikaci instancí služby Service Bus úrovně Premium, které nepoužívají privátní koncové body, použijte následující dotaz:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier == 'Premium'
      and isempty(properties.privateEndpointConnections)
    
  • K identifikaci instancí služby Service Bus, které nejsou na úrovni Premium, použijte následující dotaz:

    Resources
    | where
      type == 'microsoft.servicebus/namespaces'
    | where
      sku.tier != 'Premium'
    
  • Pokud chcete identifikovat instance Služby Service Bus úrovně Premium, které nejsou zónově redundantní, použijte následující dotaz:

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

Další krok