Apache Nifi

Eine in Echtzeit integrierte Datenlogistik und eine einfache Plattform zur Ereignisverarbeitung

Apache NiFi automatisiert die Datenverkehr zwischen verschiedenen Datenquellen und Systemen und ermöglicht so eine schnelle, einfache und sichere Datenaufnahme.

Was genau macht Apache NiFi

Apache NiFi ist eine integrierte Datenlogistikplattform zur Automatisierung des Datenverkehrs zwischen heterogenen Systemen. Es bietet eine Echtzeitsteuerung, mit der die Verwaltung des Datenverkehrs zwischen jeder Quelle und jedem Ziel vereinfacht werden kann. Es ist datenquellunabhängig und unterstützt unterschiedliche und verteilte Quellen mit unterschiedlichen Formaten, Schemata, Protokollen, Geschwindigkeiten und Größen, wie etwa Maschinen, Geo-Location-Geräte, Klickstreams, Dateien, Social-Feeds, Logfiles und Videos. Es ist ein konfigurierbares Installationsprogramm für den Transport von Daten, ähnlich wie Fedex, UPS oder andere Kurierdienste Pakete transportieren. Und genau wie diese Dienste können Sie mit Apache NiFi Ihre Daten in Echtzeit verfolgen, ebenso wie Sie eine Sendung verfolgen könnten.

Apache NiFi basiert auf der Technologie, die früher als „Niagara Files“ bezeichnet wurde. Sie wurde in den letzten acht Jahren in der NSA entwickelt und in großem Umfang eingesetzt und der Apache Software Foundation über das NSA-Programm für den Technologietransfer zur Verfügung gestellt. Als solches wurde es von Anfang an so konzipiert, dass es vor Ort einsatzbereit ist—flexibel, erweiterbar und für eine breite Palette von Geräten geeignet, von kleinen, leichten Netzwerk-Edge-Geräten, wie einem Raspberry Pi, bis hin zu Unternehmensdaten-Clustern und der Cloud. Apache NiFi lässt sich zudem dynamisch an schwankende Netzwerkverbindungen anpassen, die sich auf die Kommunikation und damit auf die Datenübertragung auswirken können.

NiFi im Überblick

Während der Begriff Dataflow in einer Vielzahl von Zusammenhängen genutzt wird, wird er hier verwendet, um den automatisierten und verwalteten Informationsfluss zwischen Systemen zu bezeichnen. Diesen Problembereich gab es schon immer, seit Unternehmen mehrere Systeme einsetzen, auf dem einige Systeme Daten erstellten und andere Daten konsumierten. Die auftretenden Probleme und Lösungsmuster wurden ausführlich diskutiert und artikuliert. Ein umfassendes und sofort einsetzbares Formular finden Sie in den Enterprise Integration Patterns [eip]. Zu den allgemeinen Herausforderungen mit Dataflow gehören:

Systemausfälle

Netzwerkfehler, Festplattenfehler, Softwareabstürze, Menschen, die Fehler machen.

Überschreitungen der Nutzungskapazität beim Datenzugriff

Manchmal kann eine bestimmte Datenquelle schneller sein als ein Teil der Verarbeitungs- oder Lieferkette - nur eine einzige Schwachstelle kann zu einem Problem führen.

Randbedingungen sind nur Vorschläge

Sie erhalten immer Daten, die zu groß, zu klein, zu schnell, zu langsam, beschädigt, falsch oder im falschen Format sind.

Was klein anfängt, kann sich groß auswirken

Prioritäten einer Organisation ändern sich - sehr schnell. Die Möglichkeit für neue und das Ändern bestehender Flows muss schnell gehen.

Systeme entwickeln sich unterschiedlich schnell

Die von einem bestimmten System verwendeten Protokolle und Formate können jederzeit und häufig unabhängig von den umliegenden Systemen geändert werden. Dataflow dient dazu, ein im Wesentlichen massiv verteiltes System von Komponenten zu verbinden, die lose oder gar nicht für die Zusammenarbeit ausgelegt sind.

Compliance und Sicherheit

Gesetze, Vorschriften und Richtlinien ändern sich. Geschäftsvereinbarungen ändern sich. Interaktionen zwischen Systemen und zwischen Systemen und Benutzern müssen sicher, vertrauenswürdig und rechenschaftspflichtig sein.

Kontinuierliche Verbesserungen finden in der Produktion statt

Oft ist es nicht möglich, die Produktionsumgebungen im Labor auch nur annähernd zu replizieren.

Im Laufe der Jahre war der Datenfluss eines der notwendigen Übel in einer Architektur. Inzwischen gibt es jedoch eine Reihe von aktiven und sich schnell entwickelnden Bewegungen, die Dataflow viel interessanter und für den Erfolg eines bestimmten Unternehmens wesentlich wichtiger machen. Dazu gehören Dinge wie; Service Oriented Architecture [soa] , der Aufstieg der API [api] [api2], Internet of Things [iot] und Big Data [bigdata]. Darüber hinaus steigt das Maß an Präzision, die für Compliance, Datenschutz und Sicherheit erforderlich ist. Trotz all dieser neuen Konzepte sind die Muster und Anforderungen des Dataflow weitgehend gleich. Die Unterschiede liegen im Wesentlichen im Umfang der Komplexität, der Änderungsrate, die zur Anpassung erforderlich ist, und im Maßstab die Ausnahme zur Regel wird. NiFi wurde entwickelt, um diese modernen Herausforderungen des Dataflow zu bewältigen.

Grundlegende Konzepte

Die grundlegenden Designkonzepte von NiFi orientieren sich inhaltich an dem Grundgedanken der Flow Based Programming [FBP]. Hier sind einige der wichtigsten NiFi-Konzepte und deren Zuordnung zu FBP:

NiFi Term FBP Term Description
FlowFile Information Packet  A FlowFile represents each object moving through the system and for each one, NiFi keeps track of a map of key/value pair attribute strings and its associated content of zero or more bytes.
FlowFile Processor Black Box  Processors actually perform the work. In [eip] terms a processor is doing some combination of data Routing, Transformation, or Mediation between systems. Processors have access to attributes of a given FlowFile and its content stream. Processors can operate on zero or more FlowFiles in a given unit of work and either commit that work or rollback.
Connection Bounded Buffer Connections provide the actual linkage between processors. These act as queues and allow various processes to interact at differing rates. These queues then can be prioritized dynamically and can have upper bounds on load, which enable back pressure.
Flow Controller Scheduler  The Flow Controller maintains the knowledge of how processes actually connect and manages the threads and allocations thereof which all processes use. The Flow Controller acts as the broker facilitating the exchange of FlowFiles between processors.
Process Group Subnet  A Process Group is a specific set of processes and their connections, which can receive data via input ports and send data out via output ports. In this manner process groups allow creation of entirely new components simply by composition of other components.

Your form submission has failed.

This may have been caused by one of the following:

  • Your request timed out
  • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.