Sdílet prostřednictvím


Orleans poskytovatelé streamů

Toky mohou mít různé tvary a tvary. Některé streamy můžou doručovat události přes přímé odkazy TCP, zatímco jiné doručují události prostřednictvím trvalých front. Různé typy datových proudů můžou používat různé strategie dávkování, různé algoritmy ukládání do mezipaměti nebo různé postupy zpětného tlaku. Aby se zabránilo omezení streamovacích aplikací pouze na podmnožinu těchto možností chování, poskytovatelé streamů jsou rozšiřitelnosti body na Orleans modul runtime streamování, který uživatelům umožňuje implementovat jakýkoli typ streamu. Tento bod rozšiřitelnosti je podobný tomuto účelu jako Orleans poskytovatelé úložiště.

Poskytovatel streamu centra událostí Azure

Azure Event Hub je plně spravovaná služba pro příjem dat v reálném čase, která dokáže přijímat a zpracovávat miliony událostí za sekundu. Je navržená tak, aby zpracovávala příjem dat z více zdrojů s vysokou propustností, nízkou latencí a následným zpracováním těchto dat několika příjemci.

Event Hubs se často používá jako základ větší architektury zpracování událostí, kde slouží jako "front door" pro kanál událostí. Dá se použít k příjmu dat z nejrůznějších zdrojů, včetně informačních kanálů sociálních médií, zařízení IoT a souborů protokolů. Jednou z klíčových výhod služby Event Hubs je možnost horizontálně horizontálně na více instancí, aby vyhovovala potřebám i největších úloh zpracování událostí. Je také vysoce dostupná a odolná proti chybám s více replikami dat distribuovanými napříč několika oblastmi Azure, aby se zajistila vysoká dostupnost.

Microsoft .Orleans. Balíček NuGet Streaming.EventHubs obsahuje poskytovatele streamu služby Event Hubs.

Poskytovatel streamů Azure Queue (AQ)

Poskytovatel datových proudů Azure Queue (AQ) doručuje události přes fronty Azure. Na straně producenta poskytovatel streamu AQ zařadí události přímo do fronty Azure. Na straně příjemce spravuje poskytovatel datových proudů AQ sadu agentů pro vyžádání obsahu, kteří načítají události ze sady front Azure a doručují je do kódu aplikace, který je využívá. Agenty pro vyžádání si můžete představit jako distribuovanou "mikroslužby" – dělenou, vysoce dostupnou a elastickou distribuovanou komponentu. Tahací agenti běží ve stejném sila, které hostují zrnka aplikace. Proto není nutné spouštět samostatné role pracovních procesů Azure, které by bylo potřeba načíst z front. Existence vyžádaných agentů, jejich správy, zpětného tlaku, vyrovnávání front mezi nimi a předání front z neúspěšného agenta jinému agentovi jsou plně spravovány modulem Orleans Streaming Runtime a jsou transparentní pro kód aplikace, který používá streamy.

Microsoft .Orleans. Balíček NuGet Streaming.AzureStorage obsahuje poskytovatele streamu azure Queue Storage .

Adaptéry front

Různí poskytovatelé datových proudů, kteří doručují události přes trvalé fronty, vykazují podobné chování a podléhají podobné implementaci. Proto poskytujeme obecný rozšiřitelný nástroj PersistentStreamProvider , který vývojářům umožňuje připojit se k různým typům front, aniž by museli psát úplně nového poskytovatele datových proudů úplně od začátku. PersistentStreamProvider používá komponentu IQueueAdapter , která abstrahuje konkrétní podrobnosti implementace fronty a poskytuje prostředky pro zařazení do fronty a dequeue událostí. Veškerý zbytek zpracovává logika uvnitř objektu PersistentStreamProvider. Výše uvedený poskytovatel front Azure je také implementovaný tímto způsobem: jedná se o instanciPersistentStreamProvider, která používá .AzureQueueAdapter

Jednoduchý poskytovatel streamu zpráv

Jednoduchý poskytovatel datových proudů zpráv, označovaný také jako poskytovatel serveru SMS, doručuje události přes protokol TCP pomocí pravidelného Orleans zasílání zpráv. Vzhledem k tomu, že události v SMS jsou doručovány nad nespolehlivými odkazy TCP, SMS nezaručuje spolehlivé doručování událostí a automaticky neodesílají zprávy, které selhaly pro streamy SMS. Ve výchozím nastavení volání OnNextAsync producenta vrátí Task stav zpracování příjemce datového proudu, který informuje producenta, zda příjemce událost úspěšně přijal a zpracoval. Pokud tento úkol selže, může se producent rozhodnout odeslat stejnou událost znovu, čímž dosáhne spolehlivosti na úrovni aplikace. I když je doručování zpráv streamu nejlepším úsilím, samotné streamy SMS jsou spolehlivé. To znamená, že vazby odběratele na producenta prováděné pub-sub jsou plně spolehlivé.

Viz také

Orleanspodrobnosti implementace Toky