Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Strumienie mogą przybierać różne kształty i formy. Niektóre strumienie mogą dostarczać zdarzenia za pośrednictwem bezpośrednich łączy TCP, podczas gdy inne dostarczają zdarzenia za pośrednictwem trwałych kolejek. Różne typy strumieni mogą używać różnych strategii przetwarzania wsadowego, algorytmów buforowania lub mechanizmów przeciążeniowych. Dostawcy strumieni to punkty rozszerzalności w Orleans środowisku uruchomieniowym dla przesyłania strumieniowego, które umożliwiają implementację dowolnego typu strumienia, co pozwala uniknąć ograniczeń aplikacji strumieniowych tylko do określonego podzbioru wyborów związanych z zachowaniem. Ten punkt rozszerzalności jest pod względem koncepcji podobny do dostawców pamięci Orleans.
Dostawca strumienia usługi Azure Event Hub
Usługa Azure Event Hubs to w pełni zarządzana usługa pozyskiwania danych w czasie rzeczywistym, która umożliwia odbieranie i przetwarzanie milionów zdarzeń na sekundę. Jest ona przeznaczona do obsługi pozyskiwania danych o wysokiej przepływności i małych opóźnieniach z wielu źródeł i późniejszego przetwarzania tych danych przez wielu użytkowników.
Usługa Event Hubs jest często używana jako podstawa większej architektury przetwarzania zdarzeń, która służy jako "drzwi wejściowe" dla potoku zdarzeń. Służy do pozyskiwania danych z różnych źródeł, w tym kanałów informacyjnych mediów społecznościowych, urządzeń IoT i plików dziennika. Jedną z najważniejszych zalet usługi Event Hubs jest możliwość skalowania w poziomie w celu spełnienia wymagań nawet największych obciążeń przetwarzania zdarzeń. Jest ona również wysoce dostępna i odporna na uszkodzenia, z wieloma replikami danych dystrybuowanymi w wielu regionach świadczenia usługi Azure w celu zapewnienia wysokiej dostępności.
Pakiet NuGet Microsoft.Orleans.Streaming.EventHubs zawiera dostawcę strumieniowego Event Hubs.
Dostawca strumienia Azure Queue (AQ)
Dostawca strumienia usługi Azure Queue (AQ) dostarcza zdarzenia za pośrednictwem kolejek platformy Azure. Po stronie producenta dostawca strumienia AQ umieszcza zdarzenia bezpośrednio w kolejce platformy Azure. Po stronie konsumenta, dostawca strumieni AQ zarządza zestawem agentów pobierających, którzy pobierają zdarzenia z zestawu kolejek usługi Azure i dostarczają je do kodu aplikacji, który z nich korzysta. Możesz postrzegać ściągających agentów jako rozproszoną "mikrousługę" — komponent podzielony na partycje, wysoce dostępny i elastyczny. Mechanizmy ściągające funkcjonują w tych samych silosach hostujących elementy aplikacji. W związku z tym nie ma potrzeby uruchamiania oddzielnych ról procesów roboczych platformy Azure do ściągania z kolejek. Środowisko Orleans uruchomieniowe przesyłania strumieniowego w pełni zarządza istnieniem agentów pobierających, zarządzaniem nimi, wywieraniem presji wstecznej, wyrównywania kolejek między nimi i przekazywania kolejek z zawodzącego agenta do innego agenta. To wszystko jest przezroczyste dla kodu aplikacji używającego strumieni.
Pakiet NuGet Microsoft.Orleans.Streaming.AzureStorage zawiera dostawcę strumienia Azure Queue Storage.
Karty kolejki
Różni dostawcy strumieni dostarczający zdarzenia za pośrednictwem trwałych kolejek wykazują podobne zachowanie i podlegają podobnym implementacjom. Dlatego udostępniamy ogólny, rozszerzalny PersistentStreamProvider, który pozwala na podłączanie różnych rodzajów kolejek bez potrzeby tworzenia zupełnie nowego dostawcy strumienia od zera.
PersistentStreamProvider używa składnika IQueueAdapter, który abstrahuje szczegóły implementacji kolejki i zapewnia środki do kolejkowania i usuwania z kolejki zdarzeń. Logika wewnątrz PersistentStreamProvider obsługuje wszystkie inne elementy. Dostawca kolejki platformy Azure wymieniony powyżej jest również implementowany w ten sposób: jest to wystąpienie PersistentStreamProvider, które używa elementu AzureQueueAdapter.
Prosty dostawca strumienia wiadomości
Prosty dostawca strumienia komunikatów, znany również jako dostawca SMS, dostarcza zdarzenia za pośrednictwem protokołu TCP przy użyciu zwykłych Orleans wiadomości ziarna. Ponieważ zdarzenia SMS są dostarczane za pośrednictwem zawodnych linków TCP, SMS nie gwarantuje niezawodnego dostarczania zdarzeń i nie wysyła automatycznie ponownie nieudanych wiadomości dla strumieni SMS. Domyślnie wywołanie producenta zwraca wartość OnNextAsync, reprezentującą status przetwarzania odbiorcy strumienia Task. To informuje producenta, czy konsument pomyślnie odebrał i przetworzył zdarzenie. Jeśli to zadanie zakończy się niepowodzeniem, producent może ponownie wysłać to samo zdarzenie, osiągając niezawodność na poziomie aplikacji. Mimo że dostarczanie wiadomości strumieniowych jest najlepszym rozwiązaniem, strumienie wiadomości SMS są niezawodne. Oznacza to, że powiązanie subskrybenta-producent wykonywane przez Pub-Sub jest w pełni niezawodne.