Verbindung zwischen Kafka und PubNub

PubNub Developer Relations - Mar 5 - - Dev Community

Kafka entwickelt sich schnell zum defacto Event Broker für die Entwicklung ereignisgesteuerter Architekturen (EDA). EDA trägt dazu bei, die Softwareentwicklung zu beschleunigen, Echtzeitfunktionen und Einblicke zu generieren und monolithische Systeme zu entkoppeln.

Kakfa ist jedoch nicht für die direkte Verbindung mit Edge-Geräten wie Smartphones, Browsern, IoT-Geräten und Laptops konzipiert. Hier kommt PubNub ins Spiel: PubNub ist eine vollständige Plattform für die Entwicklung und Verwaltung von Echtzeitanwendungen, die auf Edge-Geräten laufen, die Kafka nicht erreichen kann. Glücklicherweise können unsere Kunden das Beste aus beiden Welten nutzen, indem sie ihre Echtzeitanwendungen mit Daten versorgen, die direkt aus ihren Systemen stammen (wo Ereignisse bereits über Kafka gestreamt werden), und sich über PubNub mit ihren Edge-Geräten verbinden.

Außerdem werden viele unserer Kunden Ereignisse von Edge-Geräten zurück in Kafka streamen, mit optionaler Filterung, Aggregation und anderer Vorverarbeitung, die "am Rand" (d.h. innerhalb des PubNub-Netzwerks) erforderlich sind, bevor diese Ereignisse an Kafka gesendet werden.

Was ist die PubNub Kafka Bridge?

Die PubNub Kafka Bridge ermöglicht es Ihnen, Ereignisse mit Ihrem Kafka-Einsatz nahtlos in und aus PubNub zu überbrücken, indem Sie unseren neuen Sink Connector bzw. Kafka Action verwenden. Die Kafka-Bridge unterstützt den Einsatz vor Ort, bei Amazon über deren Managed Kafka Service (MSK) oder in der Confluent Cloud.

Der vorgefertigte Kafka Sink Connector lässt sich direkt in Ihre Kafka-Bereitstellung integrieren und ermöglicht die Verteilung von Ereignissen in Echtzeit von Kafka an Edge-Geräte, einschließlich Webbrowser, mobile Apps und IoT-Sensoren.

Die vollständig verwaltete Kafka Action, die über unseren Events & Actions Service zugänglich ist, erleichtert das Streaming von Ereignissen von Edge-Geräten zurück in Kafka und bietet optionale Filter-, Aggregations- und andere Vorverarbeitungsfunktionen, die "am Rand" benötigt werden.

Wenn Sie nur wissen wollen, wie Sie die PubNub Kafka Bridge konfigurieren, können Sie direkt zum Ende dieses Artikels springen oder unsere spezielle Kafka-Dokumentation.

Warum PubNub + Kafka für Ihre ereignisgesteuerte Architektur (EDA) verwenden?

Lange Rede, kurzer Sinn: Kafka ist die beliebteste Lösung für ereignisgesteuerte Architekturen im Rechenzentrum. PubNub ersetzt Kafka nicht, sondern erweitert es außerhalb des Rechenzentrums auf die Geräte der Endbenutzer und andere Rechenzentren.

Aber was bedeutet das in der Praxis?

Alle erfolgreichen Großunternehmen haben den Übergang zu einer ereignisgesteuerten Architektur vollzogen, um die Verwaltung und Skalierbarkeit ihrer Systeme zu verbessern und den Kunden ein reaktionsschnelleres Erlebnis zu bieten. EDA verwendet Ereignisse zur Kommunikation zwischen Back-End-Diensten und/oder Endbenutzergeräten.Stellen Sie sich ein Ereignis als eine Änderung des Systemzustands vor, z. B. eine neue Bestellung auf einer E-Commerce-Website oder eine Statusaktualisierung durch einen Außendienstmitarbeiter. Diese Ereignisse werden auf einem Ereignisbus veröffentlicht und dann an alle weitergeleitet, die sich für den Empfang dieser Ereignisse angemeldet haben.

Ereignisse, Event-Bus und Abonnenten sind allgemeine Begriffe, und es kann vorkommen, dass verschiedene Begriffe verwendet werden, um funktionell ähnliche Konzepte zu beschreiben. So ist der "Event-Bus" je nach Quelle oder Branche als "Message-Bus", "Event-Broker" oder "Pub/Sub-System" bekannt.

Warum Kafka?

Kafka ist eine zuverlässige, quelloffene EDA-Lösung, die 80 % der Fortune-100-Unternehmen nutzen.

Warum also PubNub mit Kafka verwenden?

Während Kafka im Rechenzentrum des Kunden verwendet und eingesetzt wird, erweitert PubNub die ereignisgesteuerten EDA-Konzepte außerhalb des Rechenzentrums auf den Netzwerkrand, einschließlich Webbrowsern, mobilen Anwendungen und IoT-Geräten. Sowohl Kafka als auch PubNub sind auf Skalierbarkeit ausgelegt, so dass sie bei gemeinsamer Verwendung Millionen von Endgeräten außerhalb der Firewall mit Hunderten von Backend-Servern in einem sicheren Netzwerk verbinden können.

Darüber hinaus kann die Verwendung eines einzigen Dienstes wie PubNub für die Kommunikation mit Ihren Edge-Geräten Ihren Zertifizierungsprozess vereinfachen, da Sie nicht mehr für jeden Dienst/jedes Gerät, an den/das Sie Ereignisse senden müssen, eine Herstellerprüfung durchführen müssen - mit PubNub müssen Sie nur eine einzige Herstellerprüfung durchführen.

Betrachten Sie PubNub als Ihren "globalen Event-Bus" oder Message-Bus, der es Ihnen ermöglicht, Ihre Kafka-EDA-Implementierung von zentralen Rechenzentren auf eine breite Palette von Edge-Geräten zu erweitern. PubNub unterstützt bereits alle Event-Bus-Funktionen, wie Pub/Sub-Messaging für Event-Streaming in Echtzeit, verbesserte Sicherheit, Persistenz zum Abrufen vergangener Nachrichten und fliegende Event-Verarbeitung.

  • Wenn*Sie Kafka-Ereignisse generieren, die Sie am Netzwerkrand sehen möchten,* können Sie dies mit PubNub erreichen.

  • Sammeln Sie Daten am Netzwerkrand, z. B. Benutzer, die mit Ihrer mobilen oder Web-Anwendung interagieren? Sie können diese Ereignisse mit PubNub an Ihre Kafka-Instanz senden

PubNub + Kafka: EDA Anwendungsfälle:

Schauen wir uns einige Anwendungsfälle an, die mit einer Kombination aus PubNub und Kafka erreicht werden können:

  • Jedes Kafka-Ereignis, das Sie bereits in Ihrem System erzeugen, kann in Echtzeit direkt an Anwendungen gestreamt werden, einschließlich JavaScript-Anwendungen, die im Browser laufen. Sie können die Kafka-Ereignisse filtern und verarbeiten, bevor sie veröffentlicht werden, um sicherzustellen, dass nur wichtige und relevante Ereignisse gesendet werden.

  • Erweitern Sie Ihre Kafka-Ereignisse auf sichere Weise*auf den Netzwerkrand*, ohne dass spezielle benutzerdefinierte Gateways in Ihrer Umgebung ausgeführt werden müssen.

  • Verbinden Sie heterogene Systeme mit Leichtigkeit: PubNub verfügt über mehr als 50 SDKs und ist von Grund auf mit Sicherheit entwickelt, so dass die Interoperabilität kein Problem darstellt.

  • Erstellen Sie Anwendungen, die Echtzeit-Ereignisse direkt zueinander*streamen* (z. B. große Chatrooms, Gerätestandorte, Sensormesswerte usw.) und gleichzeitig sicherstellen, dass alle Ereignisse gleichzeitig in Ihren Kafka-Broker zur Analyse, Archivierung usw. fließen.

  • Überbrücken Sie mehrere Rechenzentren oder hybride Rechenzentrumsbereitstellungen, ohne komplexe VPC-Umgebungen einzurichten.

  • Syndizieren Sie Datenströme an Geschäftspartner, indem Sie eine sichere, auf PubNub basierende Streaming-API mit einem Zero-Trust-Sicherheitsmodell bereitstellen, mit dem Sie Ereignisströme problemlos filtern, konfigurieren und deaktivieren können.

Konfigurieren der PubNub Kafka Bridge

Die Kafka Bridge ist PubNubs Oberbegriff für die gesamte Kafka/PubNub-Integration und umfasst zwei separate Lösungen.

  1. Der "PubNub Kafka Sink Connector" wird verwendet, um Kafka-Ereignisse an PubNub zu senden . Wir bieten einen benutzerdefinierten Kafka Sink Connector an, der es PubNub ermöglicht, Kafka-Ereignisse zu empfangen.

  2. Die "PubNub Kafka Action", die Teil unseres Events & Actions-Produkts ist, ermöglicht es Ihnen, PubNub-Events an Kafka zu senden.

Als Voraussetzung für alle hier beschriebenen Konfigurationsschritte müssen Sie sich bei PubNub anmelden und Ihre API-Schlüssel (publish_key und subscribe_key) erhalten.

Konfigurieren des PubNub Kafka Sink Connectors

Um besser zu verstehen, wie man den PubNub Kafka Sink Connector installiert, konfiguriert und testet, empfehle ich Ihnen diesen früheren Blog-Beitrag "Installing the PubNub Kafka Sink Connector", den der Entwickler des Connectors geschrieben hat.

Sie können auch zusätzliche Dokumentation auf unserer PubNub Kafka Sink Connector docs Seite finden.

Zusammengefasst: Der PubNub Kafka Sink Connector ist auf Github unter https://github.com/pubnub/pubnub-kafka-sink-connector verfügbar .

Wenn Sie den Konnektor nur testen möchten, um zu sehen, wie er funktioniert, wird ein Docker-Image im Repository bereitgestellt, das eine Kafka-Instanz startet, Abhängigkeiten installiert und Test-Ereignisse ausgibt, die aus einem Zeitstempel-Parameter bestehen. Nachdem Sie den Konnektor mit einem POST-Aufruf aktiviert haben, werden Sie sehen, dass PubNub-Ereignisse mit geringer Latenz empfangen werden, die den Kafka-Test-Ereignissen entsprechen.

Um den Sink-Konnektor in der Produktion zu verwenden, kann ein Maven-Befehl verwendet werden, um die .jar-Datei aus dem Quellcode zu erstellen, die dann in das entsprechende Verzeichnis kopiert werden kann (abhängig von Ihrem Kafka Connect Setup) und der Konnektor entsprechend konfiguriert wird.

Die vollständige Konfiguration des Konnektors finden Sie auf der Dokumentationsseite, aber alle Bereitstellungen benötigen mindestens:

  • Das Kafka-Topic oder die Topics, die Sie an PubNub senden wollen

  • Die PubNub-Schlüssel und ID, die Kafka bei der Veröffentlichung an PubNub verwenden soll

  • Zusätzliche Optionen für Serialisierung und Fehlerbehandlung.

Konfigurieren der PubNub Kafka-Aktion

Events & Actions ist ein PubNub-Dienst, der es Ihnen ermöglicht, Echtzeitdaten zur Speicherung, Verarbeitung oder Analyse an Systeme von Drittanbietern zu senden. Events & Actions ermöglicht es Ihnen, PubNub-Ereignisse zu spezifizieren, z. B. dass eine Nachricht in einem bestimmten PubNub-Kanal veröffentlicht wurde oder dass ein Benutzer mit einer bestimmten ID eine Nachricht veröffentlicht.Für jedes Ereignis können Sie angeben, welche Aktionen stattfinden sollen, wenn das Ereignis ausgelöst wird, z.B. können Sie einen Webhook auslösen, Ihre Daten an Amazon Kinesis senden oder (wie Sie vielleicht aus dem Thema dieses Artikels erraten haben) Ihre Daten an Apache Kafka senden.

Ein kurzer Verweis auf die Dokumentation: Die Schritte sind:

  1. Definieren Sie das PubNub-Ereignis oder die Ereignisse, die die Daten repräsentieren, die Sie an Kafka senden möchten. Dies ist auch der Schritt, der es Ihnen ermöglicht, nach Ereignissen zu filtern, die bestimmten Mustern entsprechen.

  2. Konfigurieren Sie die Kafka-Aktion mit den Details Ihres Kafka-Endpunkts, z. B. selbst gehostet, ein Amazon MSK-Cluster oder Confluent Cloud.

Beispiel für die Konfiguration der PubNub Kafka-Aktion

Durch Auswahl von "Events & Actions" im PubNub-Administrationsportal haben Sie die Möglichkeit, sowohl einen Event-Listener als auch eine Action anzugeben.

Creating a Kafka Action

Wählen Sie '+ Add Event Listener' und wählen Sie eine Ereignisquelle.

Creating a Kafka Action

Nehmen wir an, wir wollen alle Nachrichten exportieren, die auf dem Kanal mit dem Namen "send-to-kafka" eingehen, dann sieht die Event-Konfiguration etwa so aus:

Creating a Kafka Action

Als nächstes erstellen Sie eine Apache Kafka-Aktion

Creating a Kafka Action

Was die einzelnen Felder in der Aktionskonfiguration bedeuten, ist in der Kafka-Aktionsdokumentation ausführlich beschrieben, aber der folgende Screenshot entspricht der Konfiguration für:

  • Kafka-Thema: topic_0

  • Kafka-Thema-Schlüssel: stamford

  • Authentifizierung: SCRAM-SHA-256

  • URL des Kafka-Clusters für den Empfang von Ereignissen: 574mf0rd-bridge.ldn-west:1905

  • Fehlgeschlagene Versuche werden zweimal wiederholt, wobei das Intervall nach einer Formel berechnet wird, die auf 450 Sekunden basiert.

Creating a Kafka Action

Zusammenfassung

Wenn Sie in Ihrem Unternehmen bereits Kafka einsetzen, können Sie mit PubNub die Echtzeitfähigkeiten von Geräten am Netzwerkrand erweitern. Das bedeutet, dass Ereignisse, die in Ihrem Kafka-Event-Bus stattfinden, unabhängig von der Plattform an Ihre Clients verteilt werden können, z. B. über einen Webbrowser mit JavaScript oder ein mobiles Gerät mit iOS oder Android. Außerdem können Sie Daten von Ihren Client-Geräten in Echtzeit über das PubNub-Netzwerk in Kafka einspeisen, ohne dass Sie sich Gedanken über komplexe Einstellungen, Skalierbarkeit oder Datensicherheit machen müssen.

Weitere Informationen finden Sie auf unserer speziellen Seite für Kafka-Bridge-Entwickler oder in unserer Dokumentation zur Kafka-Integration. Wenn Sie Fragen zur Einrichtung haben, wenden Sie sich bitte an unser Support-Team oder an unser Team für Entwicklerbeziehungen per E-Mail an devrel@pubnub.com.

Inhalt

Was ist die PubNub Kafka Bridge?Warum PubNub + Kafka für Ihre Event Driven Architecture (EDA) verwenden?PubNub + Kafka: EDA Anwendungsfälle:Konfigurieren der PubNub Kafka BridgeKonfigurierendes PubNub Kafka Sink ConnectorsKonfigurieren derPubNub Kafka ActionBeispielfür die Konfiguration der PubNub KafkaActionZusammenfassung

Wie kann PubNub Ihnen helfen?

Dieser Artikel wurde ursprünglich auf PubNub.com veröffentlicht

Unsere Plattform hilft Entwicklern bei der Erstellung, Bereitstellung und Verwaltung von Echtzeit-Interaktivität für Webanwendungen, mobile Anwendungen und IoT-Geräte.

Die Grundlage unserer Plattform ist das größte und am besten skalierbare Echtzeit-Edge-Messaging-Netzwerk der Branche. Mit über 15 Points-of-Presence weltweit, die 800 Millionen monatlich aktive Nutzer unterstützen, und einer Zuverlässigkeit von 99,999 % müssen Sie sich keine Sorgen über Ausfälle, Gleichzeitigkeitsgrenzen oder Latenzprobleme aufgrund von Verkehrsspitzen machen.

PubNub erleben

Sehen Sie sich die Live Tour an, um in weniger als 5 Minuten die grundlegenden Konzepte hinter jeder PubNub-gestützten App zu verstehen

Einrichten

Melden Sie sich für einen PubNub-Account an und erhalten Sie sofort kostenlosen Zugang zu den PubNub-Schlüsseln

Beginnen Sie

Mit den PubNub-Dokumenten können Sie sofort loslegen, unabhängig von Ihrem Anwendungsfall oder SDK

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .