Udostępnij przez


Migrowanie do usługi Azure Event Hubs dla platformy Apache Kafka

Ten przewodnik zawiera wyraźną ścieżkę migracji aplikacji platformy Apache Kafka do usługi Azure Event Hubs. Usługa Event Hubs uwidacznia punkt końcowy zgodny z platformą Kafka, umożliwiając łączenie istniejących klientów platformy Kafka tylko ze zmianami konfiguracji — nie są wymagane żadne modyfikacje kodu.

Przed migracją

Weryfikowanie zgodności funkcji

Usługa Event Hubs obsługuje większość operacji klienta platformy Kafka, ale niektóre funkcje nie są dostępne. Przejrzyj tę tabelę, aby upewnić się, że obciążenie jest zgodne:

Funkcja Wsparte Notatki
Tworzenie komunikatów ✅ Tak Standardowy interfejs API producenta
Konsumowanie komunikatów ✅ Tak Standardowy interfejs API konsumenta
Grupy odbiorców ✅ Tak Obsługiwane zarządzanie przesunięciem
Kompresja (gzip) ✅ Tak Obsługiwany jest tylko gzip
Rejestr schematów ✅ Tak Korzystanie z rejestru schematów platformy Azure
Kafka Connect ✅ Tak Zobacz Integracja z platformą Kafka Connect
Kompresja (snappy, lz4, zstd) ✅ Tak Użyj gzip lub bez
Transakcje platformy Kafka ✅ Tak Obecnie w wersji zapoznawczej.

Pełną listę obsługiwanych operacji można znaleźć w temacie Event Hubs for Apache Kafka (Usługa Event Hubs dla platformy Apache Kafka).

Ocena bieżącej konfiguracji platformy Kafka

Przed migracją należy udokumentować istniejącą konfigurację:

Produkt Co należy zauważyć Odpowiednik usługi Event Hubs
Liczba tematów Łączna liczba tematów w użyciu Event Hubs (mapowanie 1:1)
Partycje na temat Liczba partycji Partycje na hub zdarzeń (liczbę partycji można zwiększyć po utworzeniu w poziomach Premium/Dedykowanych, ale nie można jej zmniejszyć)
Okres przechowywania Bieżące ustawienia przechowywania 1–7 dni (Standardowa), 1–90 dni (Premium/Dedykowana)
Throughput Przepustowość szczytowa MB/s Jednostki przepływności lub jednostki przetwarzania
Rozmiar komunikatu Maksymalny rozmiar komunikatu 1 MB (Standardowa/Premium), 20 MB (dedykowane)
Typ kompresji snappy, lz4, gzip itp. Zmień na gzip lub none, jeśli używasz inne typy

Wybierz warstwę usługi Event Hubs

Wybierz warstwę na podstawie wymagań:

Wymaganie Zalecana warstwa
Programowanie/testowanie, niska przepływność Standard
Obciążenia produkcyjne Kafka, strefowa redundancja, pełna obsługa protokołu Kafka Premium
Wysoka przepływność, duże komunikaty (>1 MB), zasoby dedykowane Dedykowana

Ważne

Aby uzyskać pełną zgodność protokołu Platformy Kafka, użyj warstwy Premium lub Dedykowanej . Warstwa Standardowa ma ograniczenia, które mogą mieć wpływ na niektóre obciążenia platformy Kafka.

Aby uzyskać szczegółowe porównanie warstw, zobacz Cennik usługi Event Hubs i limity przydziału.

Kroki migracji

Krok 1. Tworzenie zasobów usługi Event Hubs

  1. Tworzenie przestrzeni nazw: wykonaj czynności opisane w sekcji Tworzenie przestrzeni nazw usługi Event Hubs
  2. Tworzenie centrów zdarzeń: tworzenie jednego centrum zdarzeń dla każdego tematu platformy Kafka, który migrujesz
  3. Pobieranie parametrów połączenia: postępuj zgodnie z instrukcjami Uzyskiwanie parametrów połączenia

Zanotuj nazwę FQDN przestrzeni nazw z łańcucha połączenia.

Endpoint=sb://NAMESPACE.servicebus.windows.net/;SharedAccessKeyName=...

Nazwa FQDN to jest: NAMESPACE.servicebus.windows.net

Krok 2. Aktualizowanie konfiguracji klienta

Zaktualizuj konfigurację klienta platformy Kafka, aby nawiązać połączenie z usługą Event Hubs. Znajdź lokalizację, gdzie bootstrap.servers jest zdefiniowana w aplikacji i zastosuj następujące ustawienia:

bootstrap.servers=NAMESPACE.servicebus.windows.net:9093
security.protocol=SASL_SSL
sasl.mechanism=PLAIN
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="YOUR_CONNECTION_STRING";

Replace:

  • NAMESPACE z nazwą przestrzeni nazw usługi Event Hubs
  • YOUR_CONNECTION_STRING z pełnymi parametrami połączenia

Aby zapoznać się z konfiguracją specyficzną dla platformy i zalecanymi ustawieniami, zobacz Konfiguracje klientów platformy Apache Kafka.

Krok 3. Migrowanie istniejących danych (opcjonalnie)

Jeśli musisz przeprowadzić migrację danych historycznych z istniejącego klastra platformy Kafka do usługi Event Hubs, użyj narzędzia Kafka MirrorMaker:

W przypadku trwającej replikacji lub scenariuszy hybrydowych narzędzie MirrorMaker może działać w sposób ciągły, aby zachować synchronizację obu systemów podczas migracji etapowej.

Krok 4. Aktualizowanie przesunięć odbiorców

Gdy użytkownicy łączą się z usługą Event Hubs po raz pierwszy, nie będą mieli istniejących przesunięć. Skonfiguruj auto.offset.reset na podstawie Twoich potrzeb:

Setting Zachowanie
earliest Rozpocznij odczytywanie od początku dostępnych danych
latest Rozpocznij odczytywanie tylko nowych wiadomości

Weryfikowanie migracji

Weryfikowanie łączności producenta

  1. Uruchamianie aplikacji producenta przy użyciu zaktualizowanej konfiguracji
  2. Wysyłanie komunikatów testowych do usługi Event Hubs
  3. Potwierdź, że komunikaty docierają do witryny Azure Portal:
    • Przejdź do przestrzeni nazw usługi Event Hubs
    • Wybierz Przegląd>Metryki>Wiadomości

Weryfikowanie łączności klienta

  1. Uruchamianie aplikacji konsumenckiej przy użyciu zaktualizowanej konfiguracji
  2. Potwierdzanie odebrania komunikatów
  3. Monitorowanie opóźnień konsumentów przy użyciu usługi Azure Monitor lub metryk aplikacji

Walidacja wydajności

Porównaj wydajność z punktem odniesienia:

Wskaźnik Jak to sprawdzić
Przepływność (MB/s) Monitorowanie bajtów przychodzących/wychodzących w witrynie Azure Portal
Opóźnienie Zmierz czas pełnego dostarczenia wiadomości w aplikacji
Opóźnienie po stronie konsumenta Sprawdź opóźnienie grupy odbiorców w portalu Azure lub za pomocą metryk konsumentów platformy Kafka

Aby uzyskać informacje na temat optymalizacji wydajności, zobacz Konfiguracje klientów platformy Apache Kafka.

Likwiduj klaster platformy Kafka

Po pomyślnej weryfikacji:

  1. Monitorowanie równolegle: uruchamianie obu systemów w okresie stabilizacji
  2. Przekierowywanie całego ruchu: aktualizowanie wszystkich producentów i użytkowników w celu korzystania z usługi Event Hubs
  3. Sprawdź brak ruchu: Upewnij się, że klaster Platformy Kafka nie ma aktywnych połączeń
  4. Wycofanie z eksploatacji: zamknięcie i usunięcie infrastruktury Kafka

Rozwiązywanie problemów

Jeśli podczas migracji wystąpią problemy:

Problematyka Resource
Błędy połączenia lub uwierzytelniania Przewodnik rozwiązywania problemów z platformą Apache Kafka
Problemy z konfiguracją Konfiguracje klienta platformy Apache Kafka
Pytania ogólne Często zadawane pytania