Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Strömmar kan komma i olika storlekar och former. Vissa strömmar kan leverera händelser via direkta TCP-länkar, medan andra levererar händelser via varaktiga köer. Olika strömtyper kan använda olika batchstrategier, cachealgoritmer eller backtrycksprocedurer. Stream-leverantörer är utökningspunkter i strömningskörningen Orleans som gör att du kan implementera alla typer av strömmar, vilket undviker begränsningar för strömmande program till endast en delmängd av dessa beteendeval. Den här utökningspunkten liknar i andan Orleans lagringsleverantörer.
Azure Event Hub-datastreamsleverantör
Azure Event Hubs är en fullständigt hanterad datainmatningstjänst i realtid som kan ta emot och bearbeta miljontals händelser per sekund. Den är utformad för att hantera datainmatning med högt dataflöde med låg svarstid från flera källor och efterföljande bearbetning av dessa data av flera konsumenter.
Event Hubs används ofta som grund för en större arkitektur för händelsebearbetning och fungerar som "ingång" till en evenemangspipeline. Du kan använda den för att mata in data från olika källor, inklusive sociala medieflöden, IoT-enheter och loggfiler. En av de viktigaste fördelarna med Event Hubs är möjligheten att skala ut horisontellt för att uppfylla behoven hos även de största händelsebearbetningsarbetsbelastningarna. Det är också mycket tillgängligt och feltolerant, med flera datarepliker distribuerade över flera Azure-regioner för att säkerställa hög tillgänglighet.
Microsoft.Orleans. Streaming.EventHubs NuGet-paketet innehåller Event Hubs-dataströmsprovidern.
Azure Queue (AQ) strömleverantör
Azure Queue-dataströmleverantören (AQ) levererar händelser via Azure Queues. På producentsidan placerar AQ-strömleverantören händelser direkt i Azure Queue. På konsumentsidan hanterar AQ-streamprovidern en uppsättning pull-agenter som hämtar händelser från en uppsättning Azure-köer och levererar dem till programkoden som använder dem. Du kan se dragningsagenterna som en distribuerad "mikrotjänst" – en partitionerad, hög tillgänglighet, och elastisk distribuerad komponent. Dragagenterna körs i samma silor som är värdar för applikationskorn. Därför behöver du inte köra separata Azure-arbetsroller för att hämta från köerna. Streaming Orleans Runtime hanterar fullständigt företeelsen och hanteringen av hämtande agenter, deras mottryck, att balansera köerna mellan dem och överlämna köer från en felande agent till en annan agent. Allt detta är transparent för programkod med hjälp av strömmar.
Microsoft.Orleans. Streaming.AzureStorage NuGet-paketet innehåller Azure Queue Storage-strömleverantören.
Köadaptrar
Olika strömleverantörer som levererar händelser över varaktiga köer uppvisar liknande beteende och omfattas av liknande implementeringar. Därför tillhandahåller vi en allmän utökningsbar PersistentStreamProvider fil som gör att du kan ansluta olika typer av köer utan att skriva en helt ny strömleverantör från grunden.
PersistentStreamProvider
använder en IQueueAdapter komponent som abstraherar bort specifik information om köimplementering och ger möjlighet att köa och avköa händelser. Logiken inuti PersistentStreamProvider
hanterar allt annat. Azure Queue Provider som nämns ovan implementeras också på det här sättet: det är en instans av PersistentStreamProvider
som använder en AzureQueueAdapter
.
Enkel meddelandeströmsprovider
Den enkla meddelandeströmsprovidern, även känd som SMS-providern, levererar händelser via TCP med hjälp av vanliga Orleans grainmeddelanden. Eftersom SMS-händelser levereras via opålitliga TCP-länkar garanterar SMS inte tillförlitlig händelseleverans och skickar inte automatiskt misslyckade meddelanden för SMS-strömmar. Som standard returnerar producentens anrop till OnNextAsync en Task
som representerar dataströmkonsumentens bearbetningsstatus. Detta talar om för producenten om konsumenten har tagit emot och bearbetat händelsen. Om den här uppgiften misslyckas kan producenten bestämma sig för att skicka samma händelse igen och uppnå tillförlitlighet på programnivå. Även om leverans av dataströmmeddelanden är det bästa sättet är SJÄLVA SMS-strömmarna tillförlitliga. D.v.s. abonnent-till-producent-bindningen som utförs av Pub-Sub är helt tillförlitlig.