Udostępnij za pośrednictwem


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.

Diagram pokazujący, jak usługa Azure Event Hubs pasuje do platformy przesyłania strumieniowego zdarzeń.

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:

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.

Diagram przedstawiający integrację rejestru schematów i 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.

Zrzut ekranu przedstawiający stronę Przetwarzanie danych z kafelkiem Włącz szczegółowe informacje w czasie rzeczywistym zdarzeń.

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.

Diagram przedstawiający zapytania i dane wyjściowe usługi Azure Data Explorer.

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ć.

Diagram przedstawiający przechwytywanie danych usługi Event Hubs w usłudze Azure Storage lub Azure Data Lake Storage przy użyciu tożsamości zarządzanej.

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.

Diagram przedstawiający główne składniki 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.

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.

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ń.