Udostępnij za pośrednictwem


Migracja platformy Apache Kafka na platformę Azure

Azure HDInsight
Azure Cosmos DB
Azure Data Lake Storage
Azure Stream Analytics

Apache Kafka to wysoce skalowalny i odporny na uszkodzenia system obsługi komunikatów rozproszonych, który implementuje architekturę publikowania-subskrybowania. Jest ona używana jako warstwa pozyskiwania w scenariuszach przesyłania strumieniowego w czasie rzeczywistym, takich jak Internet rzeczy i systemy monitorowania dzienników w czasie rzeczywistym. Jest ona również coraz częściej używana jako niezmienny magazyn danych tylko do dołączania w architekturach Kappa.

Apache®, Apache Spark®, Apache Hadoop®, Apache HBase, Apache Storm®, Apache Sqoop®, Apache Kafka® i logo płomienia są zastrzeżonymi znakami towarowymi lub znakami towarowymi platformy Apache Software Foundation w Stanach Zjednoczonych i/lub innych krajach. Użycie tych znaków nie oznacza autoryzacji przez Fundację Apache Software.

Podejście do migracji

W tym artykule przedstawiono różne strategie migracji platformy Kafka na platformę Azure:

Oto schemat blokowy podejmowania decyzji w celu podjęcia decyzji, która strategia ma być używana.

Diagram przedstawiający wykres decyzyjny określający strategię migracji platformy Kafka na platformę Azure.

Migrowanie platformy Kafka do usługi IaaS platformy Azure

Aby uzyskać jeden ze sposobów migracji platformy Kafka do usługi Azure IaaS, zobacz Kafka na maszynach wirtualnych z systemem Ubuntu.

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

Usługa Event Hubs udostępnia punkt końcowy zgodny z interfejsami API producenta i konsumenta platformy Apache Kafka. Większość aplikacji klienckich platformy Apache Kafka może używać tego punktu końcowego, więc możesz użyć go jako alternatywy dla uruchamiania klastra platformy Kafka na platformie Azure. Punkt końcowy obsługuje klientów korzystających z interfejsu API w wersji 1.0 lub nowszej. Aby uzyskać więcej informacji na temat tej funkcji, zobacz Event Hubs for Apache Kafka overview (Omówienie usługi Event Hubs dla platformy Apache Kafka).

Aby dowiedzieć się, jak migrować aplikacje platformy Apache Kafka do korzystania z usługi Event Hubs, zobacz Migrowanie do usługi Event Hubs dla ekosystemów platformy Apache Kafka.

Funkcje platformy Kafka i usługi Event Hubs

Podobieństwa między platformą Kafka i usługą Event Hubs Różnice w usługach Kafka i Event Hubs
Używanie partycji Platforma jako usługa a oprogramowanie
Partycje są niezależne Partycjonowanie
Używanie koncepcji kursora po stronie klienta API-e
Skalowanie do bardzo dużych obciążeń Środowisko uruchomieniowe
Prawie identyczne koncepcyjnie Protokoły
Żaden z nich nie używa protokołu HTTP do odbierania Trwałość
Bezpieczeństwo
Ograniczanie prędkości
Różnice partycjonowania
Kafka Centra zdarzeń
Liczba partycji zarządza skalowaniem. Jednostki przepływności zarządzają skalą.
Należy równoważyć obciążenia partycji między maszynami. Równoważenie obciążenia jest automatyczne.
Należy ręcznie ponownie podzielić i scalić. Ponowne partycjonowanie nie jest wymagane.
Różnice trwałości
Kafka Centra zdarzeń
Domyślnie nietrwałe Zawsze trwałe
Replikowane po odebraniu potwierdzenia (ACK) Replikowane przed wysłaniem usługi ACK
Zależy od dysku i kworum Udostępniane przez magazyn
Różnice w zabezpieczeniach
Kafka Centra zdarzeń
Secure Sockets Layer (SSL) i Simple Authentication and Security Layer (SASL) Sygnatura dostępu współdzielonego (SAS) i SASL lub PLAIN RFC 4618
Listy kontroli dostępu podobne do plików Polityka
Opcjonalne szyfrowanie transportu Obowiązkowe zabezpieczenia warstwy transportu (TLS)
Oparte na użytkowniku Oparte na tokenach (nieograniczone)
Inne różnice
Kafka Centra zdarzeń
Nie ogranicza przepustowości Obsługuje ograniczanie przepustowości
Używa zastrzeżonego protokołu Używa protokołu AMQP 1.0
Nie używa protokołu HTTP do wysyłania Używa wysyłania http i wysyłania wsadowego

Migrowanie platformy Kafka w usłudze HDInsight

Platformę Kafka można migrować do platformy Kafka w usłudze HDInsight. Aby uzyskać więcej informacji, zobacz Co to jest platforma Apache Kafka w usłudze HDInsight?.

Używanie usługi AKS z platformą Kafka w usłudze HDInsight

Aby uzyskać więcej informacji, zobacz Use AKS with Apache Kafka on HDInsight (Używanie usługi AKS z platformą Apache Kafka w usłudze HDInsight).

Używanie platformy Kafka w usłudze AKS z operatorem Strimzi

Aby uzyskać więcej informacji, zobacz Deploy a Kafka cluster on AKS by using Strimzi (Wdrażanie klastra Kafka w usłudze AKS przy użyciu rozwiązania Strimzi).

Migracja danych platformy Kafka

Narzędzie MirrorMaker platformy Kafka umożliwia replikowanie tematów z jednego klastra do innego. Ta technika może ułatwić migrację danych po aprowizacji klastra platformy Kafka. Aby uzyskać więcej informacji, zobacz Używanie narzędzia MirrorMaker do replikowania tematów platformy Apache Kafka za pomocą platformy Kafka w usłudze HDInsight.

Następujące podejście do migracji korzysta z dublowania:

  1. Najpierw przenieś producentów. Podczas migracji producentów zapobiegasz tworzeniu nowych komunikatów na źródłowej platformie Kafka.

  2. Gdy źródło platforma Kafka używa wszystkich pozostałych komunikatów, można migrować użytkowników.

Implementacja obejmuje następujące kroki:

  1. Zmień adres połączenia platformy Kafka klienta producenta, aby wskazywał nowe wystąpienie platformy Kafka.

  2. Uruchom ponownie usługi biznesowe producenta i wyślij nowe komunikaty do nowego wystąpienia platformy Kafka.

  3. Poczekaj na zużycie danych na źródłowym platformie Kafka.

  4. Zmień adres połączenia platformy Kafka klienta odbiorcy, aby wskazywał nowe wystąpienie platformy Kafka.

  5. Uruchom ponownie usługi biznesowe konsumenckie, aby korzystać z komunikatów z nowego wystąpienia platformy Kafka.

  6. Sprawdź, czy konsumenci pomyślnie otrzymują dane z nowego wystąpienia platformy Kafka.

Monitorowanie klastra platformy Kafka

Dzienniki usługi Azure Monitor umożliwiają analizowanie dzienników generowanych przez platformę Apache Kafka w usłudze HDInsight. Aby uzyskać więcej informacji, zobacz Analizowanie dzienników dla Apache Kafka na HDInsight.

Interfejs API strumieni platformy Apache Kafka

Interfejs API strumieni platformy Kafka umożliwia przetwarzanie danych niemal w czasie rzeczywistym oraz łączenie i agregowanie danych. Aby uzyskać więcej informacji, zobacz Introducing Kafka Streams: Stream Processing Made Simple - Confluent (Wprowadzenie do strumieni platformy Kafka: Przetwarzanie strumieniowe wykonane proste — confluent).

Partnerstwo firmy Microsoft i Confluent

Platforma Confluent udostępnia natywną dla chmury usługę dla platformy Apache Kafka. Microsoft i Confluent mają strategiczny sojusz. Aby uzyskać więcej informacji, zobacz następujące zasoby:

Współautorzy

Firma Microsoft utrzymuje ten artykuł. Następujący współautorzy napisali ten artykuł.

Główni autorzy:

Inni współautorzy:

Aby wyświetlić niepubliczne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki

Wprowadzenie do produktów platformy Azure

Dokumentacja produktu platformy Azure

Pozostałe