Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Orleans A streamelés a Orleans keretrendszer egyik funkciója, amely lehetővé teszi a fejlesztők számára, hogy strukturált módon, események sorozatán működő reaktív alkalmazásokat írjanak. Orleans A streamelés absztrakciók és API-k készletét biztosítja, amelyek egyszerűbbé és robusztusabbá teszik a streamek átgondolását és használatát. A streamek olyan logikai entitások, amelyek mindig léteznek, és soha nem hiúsulhatnak meg. A streameket a StreamId azonosítja. A streamek lehetővé teszik, hogy az adatok generálása időben és térben elkülönüljön a feldolgozásuktól. Az adatfolyamok egységesen működnek a szemcsék és a >Orleans kliensek között, és kompatibilisek és hordozhatóak lehetnek a meglévő üzenetsor-technológiák széles skálájával, például az Event Hubs, a ServiceBus, az Azure Queues és az Apache Kafka esetében. Orleans A streamelés támogatja a dinamikus streamkötéseket, a transzparens streamhasználati életciklus-kezelést és a bővíthető streamszolgáltatókat is.
Orleans a v.1.0.0 támogatja a programozási modell streamelési bővítményeit. A streambővítmények absztrakciók és API-k készletét biztosítják, amelyek egyszerűbbé és robusztusabbá teszik a streamek használatát és használatát. A streamelési bővítmények lehetővé teszik a fejlesztők számára, hogy strukturált módon írjanak reaktív alkalmazásokat, amelyek események sorozatán működnek. A streamszolgáltatók bővíthetőségi modellje kompatibilissé és hordozhatóvá teszi a programozási modellt a meglévő üzenetsor-kezelési technológiák széles skáláját, például az Event Hubsot, a ServiceBust, az Azure Queuest és az Apache Kafkát. Az ilyen üzenetsorok használatához nincs szükség speciális kód írására vagy dedikált folyamatok futtatására.
Miért érdekel?
Ha már mindent tud a Stream-feldolgozásról , és ismeri az olyan technológiákat, mint az Event Hubs, a Kafka, az Azure Stream Analytics, az Apache Storm, az Apache Spark Streaming és a Reaktív bővítmények (Rx) a .NET-ben, előfordulhat, hogy megkérdezi, miért érdemes érdekelnie. Miért van szükség még egy streamfeldolgozó rendszerre, és hogy az Actors hogyan kapcsolódik a Streamekhez?"Miért Orleans Streamek?" a kérdés megválaszolására szolgál.
Programozási modell
A Streams programozási modell mögött számos alapelv Orleans áll:
- Orleans a streamek virtuálisak. Vagyis egy stream mindig létezik. Nem jön létre vagy semmisül meg, és soha nem hiúsulhat meg.
- A streameket streamazonosítók azonosítják, amelyek a globálisan egyedi azonosítókból (GUID) és sztringekből álló logikai nevek.
- Orleans A streamek lehetővé teszik az adatok előállításának leválasztását a feldolgozásuktól mind időben, mind térben. Ez azt jelenti, hogy a streamgyártó és a streamfelhasználó különböző kiszolgálókon vagy különböző időzónákban lehetnek, és ellenállnak a hibáknak.
- Orleans a streamek könnyűek és dinamikusak. Orleans A streamelési futtatókörnyezetet úgy tervezték, hogy nagy mennyiségű, nagy sebességgel érkező és futó streamet kezeljen.
- Orleans a streamkötések dinamikusak. Orleans A streamelési futtatókörnyezetet úgy tervezték, hogy kezelje azokat az eseteket, amikor a szemcsék nagy gyakorisággal csatlakoznak és lecsatlakoznak a streamekről.
- Orleans A streamelési futtatókörnyezet transzparens módon kezeli a streamhasználat életciklusát. Miután egy alkalmazás feliratkozott egy streamre, akkor még hibák esetén is megkapja a stream eseményeit.
- Orleans a streamek egységesen működnek a szemcsék és Orleans az ügyfelek között.
Gyors üzembe helyezési minta
A gyors üzembe helyezési minta jó gyors áttekintést nyújt a streamek alkalmazásbeli használatának általános munkafolyamatáról. Elolvasása után olvassa el a Streams Programozási API-kat , hogy jobban megismerje a fogalmakat.
Streamszolgáltatók
A streamek különböző alakzatokból és formákból álló fizikai csatornákon keresztül érkezhetnek, és különböző szemantikával rendelkezhetnek. Orleans A streamelést úgy tervezték, hogy támogassa ezt a sokféleséget a Stream Szolgáltatók koncepciója révén, amely a rendszer bővíthetőségi pontja.
Orleans számos streamszolgáltatói implementációt biztosít:
Orleans jelenleg több szolgáltatói implementációt is tartalmaz:
- Egyszerű üzenet (SMS), amely közvetlen szemcsés hívásokat használ, és nincs háttértárrendszer,
- Azure Queues, amely az Azure Storage-üzenetsorokat használja az üzenetek tárolására, és
- Azure EventHubsot használó Azure EventHubs
További információ: Stream Szolgáltatók.
Stream szemantikája
Stream-előfizetés szemantikája:
Orleans A Streamek garantálják a Stream-előfizetési műveletek szekvenciális konzisztenciáját . Pontosabban, amikor egy fogyasztó feliratkozik egy streamre, miután az Task
előfizetési műveletet sikeresen megoldotta, a fogyasztó látni fogja az összes eseményt, amely a feliratkozás után jött létre. Emellett a visszatekerhető streamek lehetővé teszik, hogy a múltban egy StreamSequenceToken tetszőleges időpontból iratkozzon fel. További információkért tekintse meg Orleans a streamszolgáltatókat.
Egyéni stream esemény kézbesítési garanciái:
Az egyes eseménykézbesítési garanciák az egyes streamszolgáltatóktól függenek. Vannak, akik csak a legjobb szándék szerinti egyszeri kézbesítést biztosítanak (például az egyszerű üzenetfolyamok (SMS) a 7.0 előtti verziókban Orleans, ezt követően pedig Adócsatornaként ismertek), míg mások legalább egyszeri kézbesítést biztosítanak (például az Azure Queue Streams esetében). Akár olyan streamszolgáltatót is létrehozhat, amely pontosan egyszeri kézbesítést garantál.
Események kézbesítési megrendelése:
Az eseménysorrend egy adott streamszolgáltatótól is függ. AZ SMS-streamekben a gyártó kifejezetten szabályozza a fogyasztó által látott események sorrendjét azáltal, hogy szabályozza a közzététel módját. Az Azure Queue-streamek nem garantálják a FIFO-sorrendet, mivel a mögöttes Azure Queues nem garantálja a sorrendet meghibásodás esetén. Az alkalmazások a streamkézbesítés sorrendjét is szabályozhatják a használatával StreamSequenceToken.
Streamek implementálása
A Orleans Streams-implementáció magas szintű áttekintést nyújt a belső megvalósításról.
Kódrészletek
További példákat találhat a streamelési API-k egy szemcsén belüli használatára a SampleStreamingGrain.cs.