Azure Event Hubs: platforma przesyłania strumieniowego danych w czasie rzeczywistym z natywną obsługą platformy Apache Kafka
Azure Event Hubs to natywna usługa przesyłania strumieniowego danych w chmurze, która może przesyłać strumieniowo miliony zdarzeń na sekundę z małym opóźnieniem z dowolnego źródła do dowolnego miejsca docelowego. Usługa Event Hubs jest zgodna z platformą Apache Kafka. Umożliwia uruchamianie istniejących obciążeń platformy Kafka bez żadnych zmian w kodzie.
Firmy mogą używać usługi Event Hubs do pozyskiwania i przechowywania danych przesyłanych strumieniowo. Korzystając z danych przesyłanych strumieniowo, firmy mogą uzyskiwać cenne szczegółowe informacje, prowadzić analizę w czasie rzeczywistym i reagować na zdarzenia w miarę ich wystąpienia. Mogą one używać tych danych, aby zwiększyć ogólną wydajność i środowisko klienta.
Usługa Event Hubs to preferowana warstwa pozyskiwania zdarzeń dowolnego rozwiązania do przesyłania strumieniowego zdarzeń, które tworzysz na platformie Azure. Integruje się z usługami danych i analiz na platformie Azure i poza nią w celu utworzenia kompletnego potoku przesyłania strumieniowego danych w celu obsługi następujących przypadków użycia:
- Przetwarzanie danych z centrum zdarzeń przy użyciu usługi Azure Stream Analytics w celu generowania szczegółowych informacji w czasie rzeczywistym.
- Analizowanie i eksplorowanie danych przesyłanych strumieniowo za pomocą usługi Azure Data Explorer.
- Utwórz własne aplikacje, funkcje lub mikrousługi w chmurze, które są uruchamiane na danych przesyłanych strumieniowo z usługi Event Hubs.
- Przesyłanie strumieniowe zdarzeń przy użyciu weryfikacji schematu przy użyciu wbudowanego rejestru schematów platformy Azure w celu zapewnienia jakości i zgodności danych przesyłanych strumieniowo.
Najważniejsze możliwości
Zapoznaj się z kluczowymi możliwościami usługi Azure Event Hubs w poniższych sekcjach.
Platforma Apache Kafka w usłudze Azure Event Hubs
Event Hubs to wielo protokołowy aparat przesyłania strumieniowego zdarzeń, który natywnie obsługuje protokół Advanced Message Queuing Protocol (AMQP), Apache Kafka i HTTPS. Ponieważ obsługuje platformę Apache Kafka, możesz przenieść obciążenia platformy Kafka do usługi Event Hubs bez wprowadzania żadnych zmian w kodzie. Nie musisz konfigurować i konfigurować własnych klastrów platformy Kafka ani zarządzać nimi ani korzystać z oferty platformy Kafka jako usługi, która nie jest natywna dla platformy Azure.
Usługa Event Hubs jest tworzona jako natywny aparat brokera w chmurze. Z tego powodu można uruchamiać obciążenia platformy Kafka z lepszą wydajnością, lepszą wydajnością kosztową i bez obciążeń operacyjnych.
Aby uzyskać więcej informacji, zobacz Usługa Azure Event Hubs dla platformy Apache Kafka.
Rejestr schematów w usłudze Event Hubs
Rejestr schematów platformy Azure w usłudze Event Hubs udostępnia scentralizowane repozytorium do zarządzania schematami aplikacji przesyłania strumieniowego zdarzeń. Rejestr schematów jest bezpłatny z każdą przestrzenią nazw usługi Event Hubs. Integruje się z aplikacjami platformy Kafka lub aplikacjami opartymi na zestawie SDK usługi Event Hubs.
Rejestr schematów zapewnia zgodność i spójność danych między producentami i konsumentami zdarzeń. Umożliwia ewolucję schematu, walidację i ład oraz promowanie wydajnej wymiany i współdziałania danych.
Rejestr schematów integruje się z istniejącymi aplikacjami platformy Kafka i obsługuje wiele formatów schematów, w tym schematów Avro i JSON.
Aby uzyskać więcej informacji, zobacz Rejestr schematów platformy Azure w usłudze Event Hubs.
Przetwarzanie zdarzeń przesyłanych strumieniowo w czasie rzeczywistym za pomocą usługi Stream Analytics
Usługa Event Hubs integruje się z usługą Azure Stream Analytics, aby umożliwić przetwarzanie strumienia w czasie rzeczywistym. Za pomocą wbudowanego edytora bez kodu możesz opracować zadanie usługi Stream Analytics przy użyciu funkcji przeciągania i upuszczania bez konieczności pisania kodu.
Alternatywnie deweloperzy mogą używać języka zapytań usługi Stream Analytics opartego na języku SQL do wykonywania przetwarzania strumienia w czasie rzeczywistym i korzystać z szerokiej gamy funkcji do analizowania danych przesyłanych strumieniowo.
Aby uzyskać więcej informacji, zobacz artykuły w sekcji integracji usługi Azure Stream Analytics spisu treści.
Eksplorowanie danych przesyłanych strumieniowo za pomocą usługi Azure Data Explorer
Azure Data Explorer to w pełni zarządzana platforma do analizy danych big data, która zapewnia wysoką wydajność i umożliwia analizę dużych ilości danych niemal w czasie rzeczywistym. Integrując usługę Event Hubs z usługą Azure Data Explorer, możesz wykonywać analizy niemal w czasie rzeczywistym i eksplorować dane przesyłane strumieniowo.
Aby uzyskać więcej informacji, zobacz Pozyskiwanie danych z centrum zdarzeń do usługi Azure Data Explorer.
Funkcje platformy Azure, zestawy SDK i ekosystem platformy Kafka
Usługa Event Hubs umożliwia pozyskiwanie, buforowanie, przechowywanie i przetwarzanie strumienia w czasie rzeczywistym w celu uzyskania szczegółowych informacji z możliwością działania. Usługa Event Hubs używa partycjonowanego modelu konsumenta. Umożliwia ona wielu aplikacjom przetwarzanie strumienia jednocześnie i umożliwia kontrolowanie szybkości przetwarzania. Usługa Event Hubs integruje się również z usługą Azure Functions na potrzeby architektur bezserwerowych.
Szeroki ekosystem jest dostępny dla standardowego protokołu AMQP 1.0 w branży. Zestawy SDK są dostępne w językach takich jak .NET, Java, Python i JavaScript, dzięki czemu można rozpocząć przetwarzanie strumieni z usługi Event Hubs. Wszystkie obsługiwane języki klienta zapewniają integrację niskiego poziomu.
Ekosystem umożliwia również integrację z usługami Azure Functions, Azure Spring Apps, Kafka Connectors i innymi platformami i technologiami analizy danych, takimi jak Apache Spark i Apache Flink.
Obsługuje programowanie lokalne za pomocą emulatora usługi Event Hubs
Emulator usługi Azure Event Hubs oferuje lokalne środowisko programistyczne dla usługi Event Hubs. Możesz użyć emulatora do tworzenia i testowania kodu względem usługi w izolacji, bez zakłóceń w chmurze. Aby uzyskać więcej informacji, zobacz Emulator usługi Event Hubs
Elastyczne i ekonomiczne przesyłanie strumieniowe zdarzeń
Elastyczne i ekonomiczne przesyłanie strumieniowe zdarzeń można uzyskać za pośrednictwem warstw Standardowa, Premium lub Dedykowane dla usługi Event Hubs. Te opcje zaspokajają potrzeby przesyłania strumieniowego danych z zakresu od kilku MB/s do kilku GB/s. Możesz wybrać dopasowanie, które jest odpowiednie dla Twoich wymagań.
Skalowalny
Dzięki usłudze Event Hubs można zacząć od strumieni danych w megabajtach i rozwijać się do gigabajtów lub terabajtów. Funkcja automatycznego rozszerzania jest jedną z opcji dostępnych do skalowania liczby jednostek przepływności lub jednostek przetwarzania w celu spełnienia wymagań dotyczących użycia.
Obsługuje przesyłanie strumieniowe dużych komunikatów
W większości scenariuszy przesyłania strumieniowego dane charakteryzuje się lekkim, zazwyczaj mniejszym niż 1 MB i wysoką przepływnością. Istnieją również wystąpienia, w których komunikaty nie mogą być podzielone na mniejsze segmenty. Usługa Event Hubs może pomieścić zdarzenia do 20 MB z skalowalnymi, skalowalnymi dedykowanymi klastrami bez dodatkowych opłat. Ta funkcja umożliwia usłudze Event Hubs obsługę szerokiego zakresu rozmiarów komunikatów w celu zapewnienia nieprzerwanych operacji biznesowych. Aby uzyskać więcej informacji, zobacz Wysyłanie i odbieranie dużych komunikatów za pomocą usługi Azure Event Hubs.
Przechwytywanie danych przesyłanych strumieniowo na potrzeby długoterminowego przechowywania i analizy wsadowej
Przechwyć dane niemal w czasie rzeczywistym w usłudze Azure Blob Storage lub Azure Data Lake Storage w celu długoterminowego przechowywania lub przetwarzania mikrosadowego. To zachowanie można osiągnąć na tym samym strumieniu, który jest używany do wyprowadzania analiz w czasie rzeczywistym. Przechwytywanie danych zdarzeń można szybko skonfigurować.
Jak to działa
Usługa Event Hubs udostępnia ujednoliconą platformę przesyłania strumieniowego zdarzeń z buforem przechowywania czasu, co umożliwia oddzielenie producentów zdarzeń od odbiorców zdarzeń. Aplikacje producentów i konsumentów mogą wykonywać pozyskiwanie danych na dużą skalę za pomocą wielu protokołów.
Na poniższym diagramie przedstawiono główne składniki architektury usługi Event Hubs.
Najważniejsze składniki funkcjonalne usługi Event Hubs obejmują:
- Aplikacje producenta: te aplikacje mogą pozyskiwać dane do centrum zdarzeń przy użyciu zestawów SDK usługi Event Hubs lub dowolnego klienta producenta platformy Kafka.
- Przestrzeń nazw: kontener zarządzania dla co najmniej jednego centrum zdarzeń lub tematów platformy Kafka. Zadania zarządzania, takie jak przydzielanie pojemności przesyłania strumieniowego, konfigurowanie zabezpieczeń sieci i włączanie odzyskiwania po awarii geograficznej, są obsługiwane na poziomie przestrzeni nazw.
- Temat usługi Event Hubs/Kafka: w usłudze Event Hubs można organizować zdarzenia w centrum zdarzeń lub temacie platformy Kafka. Jest to dziennik rozproszony tylko do dołączania, który może składać się z co najmniej jednej partycji.
- Partycje: służą do skalowania centrum zdarzeń. Są jak pasy ruchu na autostradze. Jeśli potrzebujesz większej przepływności przesyłania strumieniowego, możesz dodać więcej partycji.
- Aplikacje konsumenckie: te aplikacje mogą korzystać z danych, wyszukując dane w dzienniku zdarzeń i utrzymując przesunięcie konsumentów. Konsumenci mogą być klientami konsumenckimi platformy Kafka lub klientami zestawu SDK usługi Event Hubs.
- Grupa odbiorców: ta logiczna grupa wystąpień konsumentów odczytuje dane z centrum zdarzeń lub tematu platformy Kafka. Umożliwia wielu użytkownikom odczytywanie tych samych danych przesyłanych strumieniowo w centrum zdarzeń niezależnie we własnym tempie i z własnymi przesunięciami.
Powiązana zawartość
Aby rozpocząć korzystanie z usługi Event Hubs, zobacz następujące przewodniki Szybki start.
Przesyłanie strumieniowe danych przy użyciu zestawu SDK usługi Event Hubs (AMQP)
Korzystając z dowolnego z poniższych przykładów, można przesyłać strumieniowo dane do usługi Event Hubs przy użyciu zestawów SDK.
- .NET Core
- Java
- Spring
- Python
- JavaScript
- Przejdź
- C (tylko wysyłanie)
- Apache Storm (tylko odbieranie)
Przesyłanie strumieniowe danych przy użyciu platformy Apache Kafka
Poniższe przykłady umożliwiają przesyłanie strumieniowe danych z aplikacji platformy Kafka do usługi Event Hubs.
Sprawdzanie poprawności schematu za pomocą rejestru schematów
Rejestru schematów usługi Event Hubs można używać do przeprowadzania weryfikacji schematu dla aplikacji przesyłania strumieniowego zdarzeń.