Apache NiFi - Giriş
Apache NiFi, verileri farklı sistemler arasında işlemek ve dağıtmak için güçlü, kullanımı kolay ve güvenilir bir sistemdir. NSA tarafından geliştirilen ve ardından 8 yıl sonra Apache Software kuruluşuna bağışlanan Niagara Files teknolojisine dayanmaktadır. Apache Lisans Sürümü 2.0, Ocak 2004 altında dağıtılmaktadır. Apache NiFi'nin en son sürümü 1.7.1'dir.
Apache NiFi, farklı kaynaklar ve hedef sistemler arasında veri aktarımını aktarabilen ve yönetebilen gerçek zamanlı bir veri alma platformudur. Kayıtlar, coğrafi konum verileri, sosyal beslemeler vb. Gibi çok çeşitli veri formatlarını destekler. Ayrıca SFTP, HDFS ve KAFKA gibi birçok protokolü destekler. Bu, çok çeşitli veri kaynakları ve protokoller için destek bu platformu popüler kılar birçok BT kuruluşu.
Apache NiFi- Genel Özellikler
Apache NiFi'nin genel özellikleri aşağıdaki gibidir -
Apache NiFi, tasarım, kontrol, geri bildirim ve izleme arasında sorunsuz deneyim sağlayan web tabanlı bir kullanıcı arayüzü sağlar.
Oldukça yapılandırılabilir. Bu, kullanıcılara garantili teslimat, düşük gecikme süresi, yüksek verim, dinamik önceliklendirme, geri basınç ve çalışma zamanında akışları değiştirme konusunda yardımcı olur.
Ayrıca, akışın başından sonuna kadar verileri izlemek ve izlemek için veri kaynağı modülü sağlar.
Geliştiriciler, ihtiyaçlarına göre kendi özel işlemcilerini ve raporlama görevlerini oluşturabilirler.
NiFi ayrıca SSL, HTTPS, SSH ve diğer şifreleme gibi güvenli protokoller için destek sağlar.
Ayrıca kullanıcı ve rol yönetimini destekler ve ayrıca yetkilendirme için LDAP ile yapılandırılabilir.
Apache NiFi -Anahtar Kavramlar
Apache NiFi'nin temel kavramları aşağıdaki gibidir -
Process Group - Bir kullanıcının akışları hiyerarşik bir şekilde yönetmesine ve sürdürmesine yardımcı olan bir NiFi akışı grubudur.
Flow - Gerektiğinde verileri bir veri kaynağından veya kaynaklardan başka bir hedef veri kaynaklarına aktarmak ve değiştirmek için farklı işlemcileri bağlayarak oluşturulur.
Processor- İşlemci, verileri kaynak sisteminden almaktan veya hedef sistemde depolamaktan sorumlu bir java modülüdür. Diğer işlemciler de akış dosyasında öznitelik eklemek veya içeriği değiştirmek için kullanılır.
Flowfile- NiFi'de kaynak sistemden toplanan verinin tek nesnesini temsil eden NiFi'nin temel kullanımıdır. NiFiprocessor, kaynak işlemciden hedefe hareket ederken akış dosyasında değişiklikler yapar. CREATE, CLONE, RECEIVE, vb. Gibi farklı olaylar, bir akıştaki farklı işlemciler tarafından akış dosyası üzerinde gerçekleştirilir.
Event- Olaylar, bir NiFi Flow içinden geçerken akış dosyasındaki değişikliği temsil eder. Bu olaylar veri kaynağında izlenir.
Data provenance - Bir havuzdur.Ayrıca, kullanıcıların bir akış dosyası hakkındaki bilgileri kontrol etmelerini sağlayan ve bir akış dosyasının işlenmesi sırasında ortaya çıkan herhangi bir sorun olduğunda sorun gidermeye yardımcı olan bir UI'ye sahiptir.
Apache NiFi Avantajları
Apache NiFi, SFTP kullanarak uzak makinelerden veri alınmasını sağlar ve veri kökenini garanti eder.
Apache NiFi, kümelemeyi destekler, böylece farklı verileri işleyen aynı akışa sahip birden çok düğüm üzerinde çalışabilir ve bu da veri işleme performansını artırır.
Ayrıca kullanıcı seviyesinde, süreç grubu seviyesinde ve diğer modüller üzerinde de güvenlik politikaları sağlar.
Kullanıcı arabirimi, kullanıcıların NiFi ile etkileşimini güvenli hale getiren HTTPS üzerinde de çalışabilir.
NiFi, yaklaşık 188 işlemciyi destekler ve bir kullanıcı, çok çeşitli veri sistemlerini desteklemek için özel eklentiler de oluşturabilir.
Apache NiFi Dezavantajları
Bir kullanıcı içinde herhangi bir değişiklik yaparken düğümün NiFi kümesinden bağlantısı kesildiğinde, flow.xml geçersiz hale gelir. Yönetici, flow.xml'yi bağlı düğümden manuel olarak kopyalamadıkça, anot kümeye geri bağlanamaz.
Apache NiFi, birincil düğüm anahtarı durumunda bazen işlemcilerin kaynak sistemlerinden veri alamamasına neden olan durum kalıcılığı sorununa sahiptir.