Návrh řešení zasílání zpráv ve službě Azure Event Hubs

Dokončeno

Některé aplikace vytvářejí obrovské množství událostí z téměř tolik zdrojů. Tyto scénáře aplikací se často označují jako velké objemy dat. Velké objemy dat můžou vyžadovat rozsáhlou infrastrukturu.

Předpokládejme, že navrhujete architekturu pro aplikaci pro monitorování zabezpečení domácnosti ve firmě Tailwind Traders. Každý bezpečnostní systém má desítky nebo více senzorů fotoaparátů. Než bude dům považován za bezpečný, senzory a kamery jsou připojeny k testovacímu postroji a procházejí jejich tempem. Kromě toho se data záběrů videokamery uložené v mezipaměti streamují, když je bezpečnostní systém připojený k ústředí monitorování datacentra.

Pro tuto architekturu můžete zvolit řešení pro zasílání zpráv, které používá centra událostí. Centra událostí můžou přijímat a zpracovávat miliony událostí za sekundu. Data odesílaná do centra událostí se dají transformovat v reálném čase a ukládat pro pozdější analýzu. Toto video na vyžádání z kurzu Pro vývojáře poskytuje pěkný přehled služby Event Hubs.

Co je potřeba vědět o službě Azure Event Hubs

Azure Event Hubs je plně spravovaná platforma pro streamování velkých objemů dat a služba pro příjem událostí. Pojďme se podívat na charakteristiky služby:

  • Azure Event Hubs podporuje příjem dat v reálném čase a dávkování mikroslužeb ve stejném datovém proudu.

  • Události můžete odesílat a přijímat v mnoha různých jazycích. Zprávy lze také přijímat ze služby Azure Event Hubs pomocí Apache Stormu.

  • Události přijaté službou Azure Event Hubs se přidají na konec datového streamu.

    • Datový proud seřazuje události podle času jejich přijetí.
    • Příjemci můžou datový proud hledat pomocí časových posunů.
  • Služba Event Hubs implementuje model pull, který jej odlišuje od jiných messagingových služeb, jako jsou fronty Azure Service Bus.

    • Event Hubs uchovává každou zprávu v mezipaměti a umožňuje ji číst.
    • Zprávy zůstávají pro ostatní uživatele.
  • Služba Event Hubs nemá integrovaný mechanismus pro zpracování zpráv, které se nezpracují podle očekávání.

  • Azure Event Hubs se škáluje podle počtu zakoupených jednotek propustnosti (zpracování). Funkce výkonu se liší pro každou cenovou úroveň, například Basic, Standard nebo Premium.

Obchodní scénář

Pojďme se podívat, jak služba Azure Event Hubs a další služby Azure můžou přispět k architektuře pro aplikaci pro monitorování zabezpečení domácnosti.

Diagram znázorňující, jak azure Event Hubs a další služby Azure přispívají k architektuře pro aplikaci streamování dat

  • Azure Event Hubs zachycuje streamovaná data záběrů z kamery a zařízení pro testování senzorů.

  • Azure Blob Storage ukládá testovací data videa a senzoru.

  • Azure Stream Analytics identifikuje vzory v testovacích datech videa a senzoru.

  • Power BI rozhoduje o monitorování výstrah a vylepšení zabezpečení na základě vzorů testovacích dat.

Co je potřeba vzít v úvahu při používání služby Azure Event Hubs

Při plánování, jak může být služba Azure Event Hubs součástí vašeho řešení zasílání zpráv, zvažte následující body.

  • Zvažte běžné implementace. Určete, jestli je váš scénář aplikace vhodný pro zasílání zpráv event-hubs. Existuje několik běžných scénářů, kdy je Azure Event Hubs skvělým řešením pro zasílání zpráv. Služba Event Hubs je ideální pro živé řídicí panely, podporu analytických kanálů, jako jsou clickstreamy, a zjišťování anomálií, jako jsou podvody nebo odlehlé akce. Centra událostí jsou také dobrým řešením pro zpracování transakcí s analýzou a archivací dat v reálném čase.

  • Zvažte integraci jazyka a architektury. Azure Event Hubs podporuje odesílání a přijímání událostí v mnoha různých jazycích. Robustní podpora jazyka a architektury usnadňuje integraci služby Event Hubs s dalšími službami Azure a službami mimo Azure.

  • Zvažte cenovou úroveň a jednotky propustnosti. Zvolte cenovou úroveň, která nabízí funkce a možnosti vyžadované vaší aplikací. Řízení způsobu škálování implementace služby Azure Event Hubs nákupem potřebných jednotek propustnosti nebo zpracování Jedna jednotka propustnosti odpovídá:

    • Příchozí přenos dat: Až 1 MB za sekundu nebo 1 000 událostí za sekundu (podle toho, co nastane dříve)
    • Odchozí přenos dat: Až 2 MB za sekundu nebo 4 096 událostí za sekundu
  • Zvažte výhody pull modelu. Prozkoumejte, jak může model vyžádání obsahu implementovaný službou Event Hubs využít vaši komunikaci aplikací. Služba Event Hubs uchovává zprávu v mezipaměti a umožňuje ji číst. Když je zpráva přečtená, neodstraní se. Zpráva zůstane pro ostatní uživatele.

  • Zvažte selhání zpráv. Mějte na paměti, že Azure Event Hubs nezpracovává zprávy, které se nezpracovávají podle očekávání. Předpokládejme, že příjemce zprávy nefunguje kvůli formátu dat. Služba Event Hubs tento problém nezjistí. Zpráva zůstane, dokud nevyprší její time-to-live nastavení.

  • Zvažte přístup ke streamům dat. Služba Event Hubs přidává přijaté události na konec datového streamu a události jsou seřazené podle času, kdy jsou přijaty. Příjemci událostí mohou hledat podél datového proudu pomocí časových posunů.

Návod

Další informace najdete v modulu Prozkoumat službu Azure Event Hubs .