Definition Was ist Apache Pulsar?

Anbieter zum Thema

Apache Pulsar ist der Name eines verteilten Publish-Subscribe-Messaging-Systems der Apache Software Foundation (ASF). Die Open Source Software wurde ursprünglich von Yahoo entwickelt und konkurriert mit anderen Messaging- und Streaming-Systemen wie Apache Kafka. Als dauerhaften Nachrichtenspeicher nutzt Pulsar Apache BookKeeper. Das Messaging-System arbeitet Cloud-nativ, ist in großem Umfang skalierbar, bietet eine niedrige Latenz und garantiert die Zustellung der Nachrichten.

(Bild: © aga7ta - stock.adobe.com)

Apache Pulsar ist ein Publish-Subscribe-Messaging-System. Es wurde ursprünglich von Yahoo entwickelt und wird seit 2016 als Open-Source-Projekt der Apache Software Foundation (ASF) weiterentwickelt. Die Software steht unter Apache-2.0-Lizenz. Als dauerhaften Nachrichtenspeicher nutzt Pulsar Apache BookKeeper. Das verteilte Publish-Subscribe-Messaging-System konkurriert mit anderen Streaming- und Messaging-Systemen wie Apache Kafka. Es zeichnet sich durch seine Skalierbarkeit, niedrige Latenz und die garantierte Zustellung der Nachrichten aus.

Typische Einsatzbereiche von Apache Pulsar sind Messaging-Systeme für Microservices, hoch performante Datenpipelines oder Instant-Messaging-Systeme. Zahlreiche Yahoo-Anwendungen basieren ebenfalls auf Pulsar. Mit Apache Pulsar lassen sich Milliarden von Events pro Tag prozessieren. Seit 2018 liegt Apache Pulsar in der Version 2 vor. Die aktuelle Version ist 2.9.3 (Stand Juli 2022) und ist über GitHub verfügbar.

Prinzipielle Funktionsweise, Features und Merkmale

Publish-Subscribe-Messaging-Systeme wie Apache Pulsar vermitteln zwischen Produzenten von Nachrichten (Publishern) und den Nachrichtenabonnenten (Subscribern). Publisher senden die Nachrichten nicht an bestimmte Adressaten, sondern Subscriber abonnieren die benötigten Nachrichten-Topics. Für die Verteilung und Zustellung der abonnierten Nachrichten sorgt das Messaging-System. Die Publisher selbst haben keine Kenntnis darüber, welche Subscriber welche Nachrichten-Topics abonniert haben. Der Nachrichtenfluss zwischen den lose gekoppelten Publishern und Subscribern hat daher einen eher asynchronen Charakter.

Apache Pulsar hat eine Cloud-native Architektur und ist für Container-Umgebungen vorgesehen, die mit Kubernetes orchestriert werden. Grundsätzlich ist ein Pulsar-Messaging-System für mehrere Mandanten und Umgebungen ausgelegt. Für jeden Mandanten lassen sich eigene Authentifizierungen, Richtlinien und Namensräume einrichten.

Die Architektur ist serverlos und besteht aus mehreren Ebenen. Sie entkoppelt die Nachrichtenvermittlung (Broker) von der Nachrichtenspeicherung (Storage). Als dauerhafter Nachrichtenspeicher kommt BookKeeper zum Einsatz. Eine Pulsar-Instanz ist in ein oder mehreren Pulsar-Clustern organisiert. Wichtige Bestandteile des Clusters sind die Nachrichtenbroker, die die Nachrichten von den Publishern entgegennehmen und den Subscribern zustellen. Die Broker sorgen für die Verarbeitung, Verteilung und den Lastenausgleich. Darüber hinaus übernehmen sie Koordinationsaufgaben und speichern Nachrichten in BookKeeper-Instanzen. BookKeeper selbst verteilt die Daten auf einzelne Knoten (Bookies) eines BookKeeper-Clusters.

Weitere Features und Merkmale von Apache Pulsar sind:

  • integrierte Schemaregistrierung
  • Replikation von Nachrichten über mehrere Standorte und Cluster
  • Umfangreiches I/O-Framework mit zahlreichen vorgefertigten I/O-Konnektoren für verschiedene Datenbank- und Streamingsysteme
  • persistenter Speicher, basierend auf Apache BookKeeper mit Isolierung von Schreib- und Lesevorgängen auf I/O-Level
  • High-Level-APIs für zahlreiche Programmiersprachen
  • RESTful-API für Administrationsaufgaben
  • niedrige Latenzzeiten
  • skalierbar für über eine Million Nachrichten-Topics
  • Unterstützung verschiedener Subscription-Typen
  • garantierte Zustellung der Nachrichten
  • Garantien für Nachrichtenkonsistenz und -reihenfolge
  • Loadbalancing-Mechanismen

(ID:48551774)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Big Data, Analytics & AI

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung