Eksplorowanie przechwytywania usługi Event Hubs

Zakończone

Usługa Azure Event Hubs umożliwia automatyczne przechwytywanie danych przesyłanych strumieniowo w usłudze Event Hubs na wybranym koncie usługi Azure Blob Storage lub Azure Data Lake Storage z dodatkową elastycznością określania interwału czasu lub rozmiaru. Konfigurowanie funkcji Przechwytywanie jest szybkie, nie ma kosztów administracyjnych do jej uruchomienia i jest skalowane automatycznie przy użyciu jednostek przepływności usługi Event Hubs w warstwie Standardowa lub jednostek przetwarzania w warstwie Premium.

Obraz przedstawiający przechwytywanie danych usługi Event Hubs w usłudze Azure Storage lub Azure Data Lake Storage

Funkcja przechwytywania usługi Event Hubs umożliwia przetwarzanie potoków w czasie rzeczywistym i wsadowych na tym samym strumieniu. Oznacza to, że możesz tworzyć rozwiązania, które rosną wraz z potrzebami w miarę upływu czasu.

Jak działa funkcja przechwytywania usługi Event Hubs

Event Hubs to trwały bufor przechowywania czasu dla ruchu przychodzącego danych telemetrycznych, podobny do rozproszonego dziennika. Kluczem do skalowania w usłudze Event Hubs jest model użytkownika partycjonowanego. Każda partycja jest niezależnym segmentem danych i jest zużywana niezależnie. W czasie, gdy te dane się starzeją, na podstawie konfigurowalnego okresu przechowywania. W rezultacie dane centrum zdarzeń nigdy nie jest "zbyt pełne".

Funkcja przechwytywania usługi Event Hubs umożliwia określenie własnego konta i kontenera usługi Azure Blob Storage lub konta usługi Azure Data Lake Store, które są używane do przechowywania przechwyconych danych. Te konta mogą znajdować się w tym samym regionie co centrum zdarzeń lub w innym regionie, co zwiększa elastyczność funkcji przechwytywania usługi Event Hubs.

Przechwycone dane są zapisywane w formacie Apache Avro: kompaktowy, szybki format binarny zapewniający rozbudowane struktury danych ze schematem wbudowanym. Ten format jest powszechnie używany w ekosystemie hadoop, usłudze Stream Analytics i usłudze Azure Data Factory. Więcej informacji na temat pracy z avro jest dostępne w dalszej części tego artykułu.

Przechwytywanie okien

Funkcja przechwytywania usługi Event Hubs umożliwia skonfigurowanie okna do kontrolowania przechwytywania. To okno jest minimalną konfiguracją rozmiaru i czasu z zasadami "first wins", co oznacza, że pierwszy wyzwalacz napotkany powoduje operację przechwytywania. Każda partycja przechwytuje niezależnie i zapisuje ukończony blokowy obiekt blob w czasie przechwytywania o nazwie czas napotkania interwału przechwytywania. Konwencja nazewnictwa magazynu jest następująca:

{Namespace}/{EventHub}/{PartitionId}/{Year}/{Month}/{Day}/{Hour}/{Minute}/{Second}

Zwróć uwagę, że wartości daty są wypełnione zerami; przykładowa nazwa pliku może być:

https://mystorageaccount.blob.core.windows.net/mycontainer/mynamespace/myeventhub/0/2017/12/08/03/03/17.avro

Skalowanie do jednostek przepływności

Ruch usługi Event Hubs jest kontrolowany przez jednostki przepływności (TU). Każdy TU zapewnia maksymalnie 1 MB na sekundę ruchu przychodzącego (lub około 1000 zdarzeń o rozmiarze 1 KB na sekundę) i do 2 MB na sekundę ruchu wychodzącego (lub 4 096 zdarzeń na sekundę). Usługi Event Hubs w wersji Standard można skonfigurować przy użyciu 1–40 jednostek przepustowości na przestrzeń nazw; można włączyć funkcję automatycznego zwiększania, aby skalować się do skonfigurowanego maksimum lub zażądać większego przydziału. Użycie wykraczające poza zakupione jednostki TU podlega limitom. Funkcja przechwytywania usługi Event Hubs kopiuje dane bezpośrednio z wewnętrznego magazynu usługi Event Hubs, pomijając ruch wychodzący TU i zachowując ruch wychodzący dla innych czytników przetwarzania, takich jak Stream Analytics lub Spark.

Po skonfigurowaniu funkcja przechwytywania usługi Event Hubs jest uruchamiana automatycznie po wysłaniu pierwszego zdarzenia i kontynuuje działanie. Aby ułatwić przetwarzanie podrzędne, aby wiedzieć, że proces działa, usługa Event Hubs zapisuje puste pliki, gdy nie ma danych. Ten proces zapewnia przewidywalną kadencję i znacznik, który może dostarczać procesory wsadowe.