Unterschied zwischen Nifi und Mini NiFi (MiNiFi)

8

Ich wollte nur wissen, wie sich mini NiFi MiNiFi von NiFi unterscheidet?

Haben wir irgendwelche zusätzlichen Funktionen? Warum war es notwendig, es einzuführen?

Alle Gedanken oder Links wären eine große Hilfe.

    
Shashi 25.11.2016, 06:57
quelle

1 Antwort

18

Apache NiFi ist ein robustes und sicheres Framework für die Weiterleitung, Umwandlung und Bereitstellung von Daten über eine Vielzahl von Systemen hinweg. NiFi kann parallel zu anderen Anwendungen ausgeführt werden, funktioniert jedoch am besten, wenn das gesamte System (oder mehrere Systeme in einem Cluster) dafür vorgesehen sind. Es verwendet häufig SAN- oder RAID-Speicher auf TB-Ebene für die riesigen Mengen an Inhalten, die es aufnimmt, und für die Provenienz, die es generiert. Über die Benutzeroberfläche können mehrere Benutzer gleichzeitig Flows auf demselben Computer oder in einem Cluster ändern. Der neueste Release-Kandidat von NiFi ( 1.1.0 RC1 ) enthält über 170 Prozessoren für die benutzerdefinierte Integration mit verschiedenen Systemen und Operationen und ist 762 MB , wenn er für den Download komprimiert wird. Mit anderen Worten, NiFi ist eine Server-Klasse-Anwendung.

Apache MiNiFi wurde aus einem anerkannten Bedürfnis entwickelt, die Fähigkeiten von NiFi an den "Rand" zu bringen "Agents" - Zugreifen auf Daten von IoT- und Desktop-Geräten und Anwenden von primären Funktionen von NiFi zum frühestmöglichen Zeitpunkt. Jetzt können Daten aus einer Vielzahl von Protokollen gesammelt werden, die Datenherkunft sofort für ganzheitlichere Governance und Transparenz generiert, Lichttransformationen an der Quelle angewendet, verschlüsselt werden, priorisiert werden und redundant zu den leistungsfähigeren Transformationen in der Cloud zurückgeleitet werden oder Rechenzentrum.

Nun können alle diese Verhaltensweisen mit benutzerdefinierten Skripten durchgeführt werden, aber dann ist das Problem von Befehl & amp; Kontrolle (C2) ist aufgetreten. Mit Hunderten, Tausenden oder sogar Millionen dieser Geräte, wie kann jeder überwacht und ausgefüllt werden, und was passiert, wenn sich der Fluss ändern muss? Es könnte sein, einen Bericht an einen neuen Endpunkt zu senden, die Häufigkeit zu aktualisieren, mit der er erfasst oder übertragen wird, oder neue Metriken oder Metadaten vom Gerät zu verarbeiten. Dieser manuelle Vorgang wird nicht skaliert. Durch die Integration von MiNiFi mit NiFi kann ein Fluss mithilfe der Benutzeroberfläche in NiFi entwickelt und transparent in einen MiNiFi-Fluss übersetzt und an Agentengruppen auf der ganzen Welt weitergegeben werden.

Mit der manuellen Modifikation können Sie überflüssige Prozessoren und Funktionen entfernen, NiFi kann so getrimmt werden, dass es auf einen Raspberry Pi passt. Aber es erfordert immer noch die JVM, und es gibt viele Geräte, die es nicht unterstützen. MiNiFi wird in Java und C ++ angeboten, und der Footprint ist in einem völlig anderen Maßstab - 39 MB für den Java-Agenten (tar) und 310K für den C ++ - Agenten (tar).

Ein großartiges Beispiel für die Leistungsfähigkeit und Nützlichkeit von MiNiFi ist eine kürzlich vorgestellte Demo auf der Messe TU-Automotive Detroit, bei der MiNiFi auf ein benutzerdefinierte Qualcomm-Modem in einem" verbundenen Auto ". Während das Auto fährt, werden riesige Datenmengen von Komponenten im gesamten Fahrzeug erzeugt und über den CANBUS zur Verarbeitung weitergeleitet. Einige Daten sind wichtig, um in Echtzeit zurück zu einem entfernten Verarbeitungszentrum zu streamen - diese Daten werden über eine LTE-Verbindung übertragen. LTE ist weit verbreitet, aber Bandbreite ist teuer. In der Zwischenzeit konnten Daten, die viel größer, aber weniger zeitrelevant waren (Systemdiagnose usw.), gestapelt und komprimiert werden und dann in Bursts über WiFi gesendet werden, wenn sich das Fahrzeug in Reichweite eines bekannten Hotspots befand. MiNiFi koordinierte alle Flussentscheidungen und Routing über Geo-Enrichment und Kontrollebene Feedback. Hier ist ein kurzes Video von Joe Niemiec erklärt den Prozess und zeigt den Ablauf .

Sie können diese Demo auf viele andere Anwendungsfälle übertragen. Es ist hilfreich, sich MiNiFi als einen "guten Gast" vorzustellen - einen leichten Agenten, der auf Hardware läuft, die wahrscheinlich einem anderen Hauptzweck gewidmet ist. Ob dies nun IoT ist, ein Kassen- / Kassensystem, ein Automodem, physikalische Sensoren, etc. ist für MiNiFi irrelevant - seine Aufgabe ist es, diese Daten zu verarbeiten und zu exfilieren, ohne unnötige Ressourcen von der primären Funktion zu nehmen. Vergleichen Sie dies mit NiFi, das wiederum gleichzeitig mit anderen Anwendungen laufen kann, aber idealerweise hat es dedizierte Ressourcen, die es für seine eigene Leistung maximieren kann.

    
Andy 25.11.2016, 20:17
quelle

Tags und Links