web-dev-qa-db-fra.com

Différence entre Nifi et Mini NiFi (MiNiFi)

Je voulais juste savoir comment mini NiFi Le MiNiFi est-il différent du NiFi? 

Avons-nous une fonctionnalité supplémentaire? Pourquoi était-il nécessaire de l'introduire?

Toute pensée ou lien serait d'une grande aide.

18
Shashi

Apache NiFi est un cadre robuste et sécurisé pour le routage, la transformation et la fourniture de données sur une multitude de systèmes. NiFi peut fonctionner en parallèle avec d'autres applications, mais il fonctionne mieux lorsque tout le système (ou plusieurs systèmes d'un cluster) lui est dédié. Il utilise souvent SAN ou un stockage RAID au niveau TB pour les quantités massives de contenu ingérées et la provenance qu'il génère. L'interface utilisateur permet à plusieurs utilisateurs de modifier rapidement les flux simultanément sur le même ordinateur ou sur un cluster. La dernière version candidate de NiFi (1.1.0 RC1) inclut plus de 170 processeurs pour une intégration personnalisée avec divers systèmes et opérations. Elle est 762 MB lorsqu'elle est compressée pour le téléchargement. En d'autres termes, NiFi est une application de type serveur. 

Apache MiNiFi a été développé pour répondre à un besoin reconnu d'apporter les capacités de NiFi à "Edge" en tant qu '"agents" - accéder aux données à partir d'appareils IoT et de bureau, et appliquer au plus tôt les principales fonctionnalités de NiFi. étape. Désormais, les données peuvent être collectées à partir de divers protocoles, générer immédiatement la provenance des données pour une gouvernance et une transparence plus globales, appliquer de légères transformations à la source, les chiffrer, les hiérarchiser et les rediriger vers les transformations les plus puissantes du cloud ou centre de données. 

Désormais, tous ces comportements peuvent être effectués avec des scripts personnalisés, mais le problème de la commande et du contrôle (C2) est rencontré. Avec des centaines, des milliers, voire des millions de ces dispositifs existants, comment chacun peut-il être surveillé et exécuté, et que se passe-t-il lorsque le flux doit changer? Il peut s'agir de signaler à un nouveau point de terminaison, de mettre à jour la fréquence à laquelle il est collecté ou transmis, ou de gérer de nouvelles métriques ou métadonnées à partir du périphérique. Ce processus manuel n'échelle pas. Grâce à l'intégration de MiNiFi avec NiFi, un flux peut être développé à l'aide de l'interface utilisateur de NiFi et traduit de manière transparente en un flux MiNiFi et déplacé vers des classes d'agents à travers le monde. 

Avec une modification manuelle pour supprimer les processeurs et fonctionnalités inutiles, NiFi peut être ajusté pour s’adapter à un Raspberry Pi. Mais il nécessite toujours la machine virtuelle Java et de nombreux périphériques ne la prennent pas en charge. MiNiFi est proposé en Java et en C++, et l’empreinte est à une échelle complètement différente - 39 MB pour l’agent Java (tar) et 310K pour l’agent C++ (tar). 

Un bon exemple de la puissance et de l’utilité de MiNiFi est une démonstration récente présentée au salon TU-Automotive Detroit, où MiNiFi a été chargé sur un modem Qualcomm personnalisé situé dans une "voiture connectée". Au fur et à mesure que la voiture roule, des quantités massives de données sont générées par les composants dans toute la voiture et acheminées via CANBUS pour être traitées. Certaines données sont importantes pour la retransmission en temps réel vers un centre de traitement distant - ces données sont transmises via une connexion LTE. LTE est largement disponible, mais la bande passante est chère. Dans le même temps, les données beaucoup plus volumineuses mais moins importantes en termes de temps (diagnostics système, etc.) pouvaient être regroupées et compressées, puis envoyées en rafales via WiFi lorsque la voiture se trouvait à portée d'un point d'accès connu. MiNiFi a coordonné toutes les décisions de flux et leur routage via un enrichissement géographique et un retour d'informations du plan de contrôle. Voici une courte vidéo de Joe Niemiec expliquant le processus et montrant le flux

Vous pouvez extrapoler cette démonstration à de nombreux autres cas d'utilisation. Il est utile de considérer MiNiFi comme un "bon invité" - un agent léger fonctionnant sur du matériel probablement dédié à un objectif principal différent. Qu'il s'agisse de l'IoT, une caisse enregistreuse/système de point de vente, un modem de voiture, des capteurs physiques, etc., est sans importance pour MiNiFi - son travail consiste à traiter et à traiter ces données sans extraire des ressources inutiles de la fonction principale. Comparez cela à NiFi, qui peut à nouveau fonctionner simultanément avec d’autres applications, mais il dispose idéalement de ressources dédiées qu’il peut maximiser pour ses propres performances. 

29
Andy

NiFi : Il a plus non. de processeur prédéfini, a une interface utilisateur où vous pouvez surveiller, configurer tout au moment de l'exécution, vous pouvez écrire votre propre processeur.

MiNiFi : Il a moins non. de processeur (poids léger) par rapport à NIFI. Facile à déployer. Mais il n'a pas d'interface utilisateur. Vous pouvez l'intégrer avec NIFI.

2
Navin