Cara kerja Apache Nifi - jelajahi aliran data Anda, jangan tenggelam di dalamnya

pengantar

Itu aliran air yang gila. Sama seperti aplikasi Anda yang menangani aliran data yang gila-gilaan. Merutekan data dari satu penyimpanan ke penyimpanan lainnya, menerapkan aturan validasi, dan menjawab pertanyaan tentang tata kelola data, keandalan dalam ekosistem Big Data sulit dilakukan jika Anda melakukan semuanya sendiri.

Kabar baik, Anda tidak perlu membuat solusi aliran data dari awal - Apache NiFi mendukung Anda!

Di akhir artikel ini, Anda akan menjadi ahli NiFi - siap membangun pipeline data Anda.

Apa yang akan saya bahas di artikel ini:

  • Apa itu Apache NiFi, dalam situasi apa Anda harus menggunakannya, dan apa konsep utama yang harus dipahami di NiFi.

Apa yang tidak akan saya bahas:

  • Instalasi, penyebaran, pemantauan, keamanan, dan administrasi cluster NiFi.

Untuk kenyamanan Anda, berikut adalah daftar isi, jangan ragu untuk langsung menuju ke mana rasa ingin tahu membawa Anda. Jika Anda seorang pemula NiFi, membaca artikel ini dalam urutan yang ditunjukkan disarankan.

Daftar Isi

  • I - Apa itu Apache NiFi?

    - Mendefinisikan NiFi

    - Mengapa menggunakan NiFi?

  • II - Apache Nifi di bawah mikroskop

    - FlowFile

    - Prosesor

    - Grup Proses

    - Koneksi

    - Pengontrol Arus

  • Kesimpulan dan ajakan bertindak

Apa itu Apache NiFi?

Di situs web proyek Apache Nifi, Anda dapat menemukan definisi berikut:

Sistem yang mudah digunakan, kuat, dan andal untuk memproses dan mendistribusikan data.

Mari kita analisis kata kunci di sana.

Mendefinisikan NiFi

Memproses dan mendistribusikan data

Itulah inti dari Nifi. Ini memindahkan data di sekitar sistem dan memberi Anda alat untuk memproses data ini.

Nifi dapat menangani berbagai macam sumber data dan format. Anda mengambil data dari satu sumber, mengubahnya, dan mendorongnya ke data sink yang berbeda.

Mudah digunakan

Prosesor - kotak - ditautkan oleh konektor - panah membuat aliran . N iFi menawarkan pengalaman pemrograman berbasis aliran.

Nifi memungkinkan untuk memahami, sekilas, sekumpulan operasi aliran data yang membutuhkan ratusan baris kode sumber untuk diterapkan.

Pertimbangkan pipa di bawah ini:

Untuk menerjemahkan aliran data di atas di NiFi, Anda pergi ke antarmuka pengguna grafis NiFi, seret dan lepas tiga komponen ke kanvas, dan

Itu dia. Perlu waktu dua menit untuk membuatnya.

Sekarang, jika Anda menulis kode untuk melakukan hal yang sama, kemungkinan panjangnya beberapa ratus baris untuk mencapai hasil yang serupa.

Anda tidak menangkap esensi pipeline melalui kode seperti yang Anda lakukan dengan pendekatan berbasis aliran. Nifi lebih ekspresif untuk membangun jalur data; itu dirancang untuk melakukan itu .

Kuat

NiFi menyediakan banyak prosesordi luar kotak (293 dalam Nifi 1.9.2). Anda berada di pundak raksasa. Prosesor standar tersebut menangani sebagian besar kasus penggunaan yang mungkin Anda temui.

NiFi sangat konkuren, namun bagian dalamnya merangkum kerumitan terkait. Prosesor menawarkan abstraksi tingkat tinggi yang menyembunyikan kompleksitas inheren pemrograman paralel. Prosesor berjalan secara bersamaan, dan Anda dapat menjangkau beberapa utas prosesor untuk mengatasi beban.

Concurrency adalah kotak Pandora komputasi yang tidak ingin Anda buka. NiFi dengan mudah melindungi pembuat pipa dari kerumitan konkurensi.

Andal

Teori yang mendukung NiFi bukanlah hal baru; ia memiliki jangkar teoritis yang kuat. Ini mirip dengan model seperti SEDA.

Untuk sistem aliran data, salah satu topik utama yang harus ditangani adalah keandalan. Anda ingin memastikan bahwa data yang dikirim ke suatu tempat diterima secara efektif.

NiFi mencapai tingkat keandalan yang tinggi melalui berbagai mekanisme yang melacak status sistem kapan saja. Mekanisme tersebut dapat dikonfigurasi sehingga Anda dapat membuat kompromi yang sesuai antara latensi dan throughput yang diperlukan oleh aplikasi Anda.

NiFi melacak sejarah setiap bagian data dengan fitur garis keturunan dan asalnya. Itu memungkinkan untuk mengetahui transformasi apa yang terjadi pada setiap bagian informasi.

Solusi garis keturunan data yang diusulkan oleh Apache Nifi terbukti menjadi alat yang sangat baik untuk mengaudit jalur data. Fitur garis keturunan data sangat penting untuk meningkatkan kepercayaan pada data besar dan sistem AI dalam konteks di mana aktor transnasional seperti Uni Eropa mengusulkan pedoman untuk mendukung pemrosesan data yang akurat.

Mengapa menggunakan Nifi?

Pertama, saya ingin menjelaskan bahwa saya tidak di sini untuk menginjili NiFi. Tujuan saya adalah memberi Anda cukup elemen sehingga Anda dapat membuat keputusan yang tepat tentang cara terbaik untuk membangun jalur data Anda.

Sangat berguna untuk mengingat empat V data besar saat mengukur solusi Anda.

  • Volume - Pada skala apa Anda beroperasi? Dalam urutan besarnya, apakah Anda lebih dekat dengan beberapa GigaBytes atau ratusan PetaBytes?
  • Variasi - Berapa banyak sumber data yang Anda miliki? Apakah data Anda terstruktur? Jika ya, apakah skema sering bervariasi?
  • Kecepatan - Berapa frekuensi peristiwa yang Anda proses? Apakah itu pembayaran kartu kredit? Apakah ini laporan kinerja harian yang dikirim oleh perangkat IoT?
  • Veracity - Dapatkah Anda mempercayai datanya? Atau, apakah Anda perlu menerapkan beberapa operasi pembersihan sebelum memanipulasinya?

NiFi menyerap data dengan lancar dari berbagai sumber data dan menyediakan mekanisme untuk menangani skema yang berbeda dalam data. Dengan demikian, ini bersinar ketika ada variasi data yang tinggi.

Nifi sangat berharga jika data memiliki kebenaran yang rendah . Karena menyediakan banyak prosesor untuk membersihkan dan memformat data.

Dengan opsi konfigurasinya, Nifi dapat menangani berbagai situasi volume / kecepatan.

Daftar aplikasi yang meningkat untuk solusi perutean data

Peraturan baru, munculnya Internet of Things dan aliran data yang dihasilkannya menekankan relevansi alat seperti Apache NiFi.

  • Layanan mikro sangat trendi. Dalam layanan yang digabungkan secara longgar tersebut, data adalah kontrak antara layanan. Nifi adalah cara yang ampuh untuk merutekan data di antara layanan tersebut.
  • Internet untuk segalamembawa banyak data ke cloud. Menyerap dan memvalidasi data dari edge ke cloud menimbulkan banyak tantangan baru yang dapat ditangani oleh NiFi secara efisien (terutama melalui MiniFi, proyek NiFi untuk perangkat edge)
  • Panduan dan peraturan baru diberlakukan untuk menyesuaikan kembali ekonomi Big Data. Dalam konteks peningkatan pemantauan ini, penting bagi bisnis untuk memiliki gambaran yang jelas tentang pipeline data mereka. Silsilah data NiFi, misalnya, dapat membantu menuju kepatuhan terhadap peraturan.

Menjembatani kesenjangan antara pakar big data dan lainnya

Seperti yang Anda lihat dari antarmuka pengguna, aliran data yang diekspresikan dalam NiFi sangat baik untuk berkomunikasi tentang pipeline data Anda. Ini dapat membantu anggota organisasi Anda menjadi lebih berpengetahuan tentang apa yang terjadi di pipeline data.

  • Seorang analis menanyakan wawasan tentang mengapa data ini tiba di sini dengan cara itu? Duduk bersama dan berjalanlah mengikuti arus. Dalam lima menit Anda memberi seseorang pemahaman yang kuat tentang Extract Transform dan Load -ETL- pipeline.
  • Anda ingin masukan dari rekan Anda tentang alur penanganan kesalahan baru yang Anda buat? NiFi membuat keputusan desain untuk mempertimbangkan jalur kesalahan sebagai hasil yang valid. Harapkan tinjauan alur menjadi lebih pendek daripada tinjauan kode tradisional.

Haruskah Anda menggunakannya? Ya Tidak mungkin?

Merek NiFi sendiri karena penggunaannya yang mudah. Tetap saja, ini adalah platform aliran data perusahaan. Ini menawarkan satu set fitur lengkap yang Anda mungkin hanya membutuhkan subset yang dikurangi. Menambahkan alat baru ke tumpukan tidak berbahaya.

Jika Anda memulai dari awal dan mengelola beberapa data dari sumber data tepercaya, Anda mungkin lebih baik menyiapkan pipeline Extract Transform and Load - ETL . Mungkin perubahan pengambilan data dari database dan beberapa skrip persiapan data adalah semua yang Anda butuhkan.

Di sisi lain, jika Anda bekerja di lingkungan dengan solusi big data yang sedang digunakan (baik itu untuk penyimpanan, pemrosesan, atau pengiriman pesan), NiFi terintegrasi dengan baik dengannya dan kemungkinan besar akan cepat menang. Anda dapat memanfaatkan konektor out of the box ke solusi Big Data lainnya.

Sangat mudah untuk mendapatkan solusi baru. Buat daftar kebutuhan Anda dan pilih solusi yang menjawab kebutuhan Anda sesederhana mungkin .

Sekarang kita telah melihat gambaran yang sangat tinggi dari Apache NiFi, kita melihat konsep utamanya dan membedah bagian dalamnya.

Apache Nifi di bawah mikroskop

“NiFi adalah pemrograman kotak dan panah” mungkin baik untuk mengkomunikasikan gambaran besarnya. Namun, jika Anda harus beroperasi dengan NiFi, Anda mungkin ingin memahami lebih banyak tentang cara kerjanya.

Di bagian kedua ini, saya menjelaskan konsep kritis Apache NiFi dengan skema. Model kotak hitam ini tidak akan menjadi kotak hitam bagi Anda sesudahnya.

Membuka kotak Apache NiFi

Saat Anda memulai NiFi, Anda membuka antarmuka webnya. UI web adalah cetak biru tempat Anda mendesain dan mengontrol pipeline data Anda.

Di Nifi, Anda merakit prosesor yang dihubungkan bersama oleh koneksi . Dalam contoh aliran data yang diperkenalkan sebelumnya, ada tiga prosesor.

Antarmuka pengguna kanvas NiFi adalah kerangka kerja di mana pembuat pipa berevolusi.

Memahami terminologi Nifi

Untuk mengekspresikan aliran data Anda di Nifi, Anda harus menguasai bahasanya terlebih dahulu. Jangan khawatir, beberapa istilah sudah cukup untuk memahami konsep di baliknya.

Kotak hitam disebut prosesor, dan mereka bertukar potongan informasi bernama FlowFiles melalui antrian yang diberi nama koneksi . Terakhir, Pengontrol FlowFile bertanggung jawab untuk mengelola sumber daya di antara komponen tersebut.

Mari kita lihat cara kerjanya di bawah tenda.

FlowFile

Di NiFi, FlowFileadalah paket informasi yang bergerak melalui prosesor dalam pipa.

FlowFile hadir dalam dua bagian:

  • Atribut , yang merupakan pasangan kunci / nilai. Misalnya, nama file, jalur file, dan pengenal unik adalah atribut standar.
  • Konten , referensi ke aliran byte menyusun konten FlowFile.

FlowFile tidak berisi data itu sendiri. Itu akan sangat membatasi throughput pipa.

Sebaliknya, FlowFile menyimpan penunjuk yang mereferensikan data yang disimpan di beberapa tempat di penyimpanan lokal. Tempat ini disebut Repositori Konten .

Untuk mengakses konten, FlowFile mengklaim sumber daya dari Repositori Konten. Kemudian melacak offset disk yang tepat dari tempat konten berada dan mengalirkannya kembali ke FlowFile.

Tidak semua prosesor perlu mengakses konten FlowFile untuk menjalankan operasinya - misalnya, menggabungkan konten dari dua FlowFile tidak perlu memuat kontennya di memori.

Saat prosesor mengubah konten FlowFile, data sebelumnya disimpan. NiFi menyalin-saat-menulis, memodifikasi konten sambil menyalinnya ke lokasi baru. Informasi asli dibiarkan utuh di Tempat Penyimpanan Isi.

Contoh

Pertimbangkan prosesor yang memampatkan konten FlowFile. Konten asli tetap berada di Repositori Konten, dan entri baru dibuat untuk konten yang dikompresi.

Repositori Konten akhirnya mengembalikan referensi ke konten yang dikompresi. FlowFile diperbarui untuk menunjuk ke data yang dikompresi.

Gambar di bawah meringkas contoh dengan prosesor yang memampatkan konten FlowFiles.

Keandalan

NiFi diklaim bisa diandalkan, bagaimana praktiknya?Atribut semua FlowFile yang saat ini digunakan, serta referensi ke isinya, disimpan di FlowFile Repository.

Pada setiap langkah pipeline, modifikasi Flowfile pertama kali dicatat di FlowFile Repository, di log depan tulis, sebelum dilakukan.

Untuk setiap FlowFile yang saat ini ada di sistem, repositori FlowFile menyimpan:

  • Atribut FlowFile
  • Penunjuk ke konten FlowFile yang terletak di repositori FlowFile
  • Status FlowFile. Misalnya: ke antrian mana Flowfile berada saat ini.

Repositori FlowFile memberi kita status arus terkini; oleh karena itu, ini adalah alat yang ampuh untuk pulih dari pemadaman listrik.

NiFi menyediakan alat lain untuk melacak riwayat lengkap semua FlowFile dalam aliran: Repositori Asal.

Tempat Penyimpanan Asal

Setiap kali FlowFile dimodifikasi, NiFi mengambil snapshot dari FlowFile dan konteksnya pada titik ini. Nama snapshot ini di NiFi adalah Provenance Event . Tempat Penyimpanan Asal mencatat Peristiwa Asal.

Provenance memungkinkan kami untuk menelusuri kembali garis keturunan data dan membangun rantai pengawasan penuh untuk setiap informasi yang diproses di NiFi.

Selain menawarkan garis keturunan lengkap dari data, Repositori Asal juga menawarkan untuk memutar ulang data dari titik waktu mana pun.

Tunggu, apa perbedaan antara FlowFile Repository dan Provenance Repository?

Ide di balik FlowFile Repository dan Provenance Repository sangat mirip, tetapi mereka tidak menangani masalah yang sama.

  • Repositori FlowFile adalah log yang hanya berisi status terbaru dari FlowFile yang sedang digunakan dalam sistem. Ini adalah gambaran arus terbaru dan memungkinkan untuk pulih dari pemadaman dengan cepat.
  • Di sisi lain, Provenance Repository lebih lengkap karena melacak siklus hidup lengkap setiap FlowFile yang telah ada di aliran.

Jika Anda hanya memiliki gambar terbaru dari sistem dengan gudang FlowFile, Tempat Penyimpanan Asal memberi Anda koleksi foto - video . Anda dapat memutar ulang ke momen mana pun di masa lalu, menyelidiki data, memutar ulang operasi dari waktu tertentu. Ini memberikan garis keturunan yang lengkap dari data.

Prosesor FlowFile

Sebuah prosesor adalah kotak hitam yang melakukan operasi. Prosesor memiliki akses ke atribut dan konten FlowFile untuk melakukan semua jenis tindakan. Mereka memungkinkan Anda untuk melakukan banyak operasi dalam masuknya data, tugas transformasi / validasi data standar, dan menyimpan data ini ke berbagai sink data.

NiFi hadir dengan banyak prosesor saat Anda menginstalnya. Jika Anda tidak menemukan yang sempurna untuk kasus penggunaan Anda, masih mungkin untuk membangun prosesor Anda sendiri. Penulisan prosesor kustom berada di luar cakupan posting blog ini.

Prosesor adalah abstraksi tingkat tinggi yang memenuhi satu tugas. Abstraksi ini sangat nyaman karena melindungi pembuat pipa dari kesulitan inheren pemrograman bersamaan dan implementasi mekanisme penanganan kesalahan.

Prosesor menampilkan antarmuka dengan beberapa pengaturan konfigurasi untuk menyesuaikan perilakunya.

Properti prosesor tersebut adalah penghubung terakhir antara NiFi dan realitas bisnis dari persyaratan aplikasi Anda.

Masalahnya ada pada detailnya, dan pembuat saluran pipa menghabiskan sebagian besar waktunya untuk menyempurnakan properti tersebut agar sesuai dengan perilaku yang diharapkan.

Penskalaan

Untuk setiap prosesor, Anda dapat menentukan jumlah tugas bersamaan yang ingin Anda jalankan secara bersamaan. Seperti ini, Flow Controller mengalokasikan lebih banyak sumber daya ke prosesor ini, meningkatkan throughputnya. Prosesor berbagi utas. Jika satu prosesor meminta lebih banyak utas, prosesor lain memiliki lebih sedikit utas yang tersedia untuk dieksekusi. Detail tentang bagaimana Flow Controller mengalokasikan utas tersedia di sini.

Penskalaan horizontal. Cara lain untuk menskalakan adalah dengan meningkatkan jumlah node di cluster NiFi Anda. Clustering server memungkinkan untuk meningkatkan kemampuan pemrosesan Anda menggunakan perangkat keras komoditas.

Grup Proses

Yang ini sangat mudah sekarang setelah kita melihat apa itu prosesor.

Sekelompok prosesor yang digabungkan dengan koneksi mereka dapat membentuk grup proses. Anda menambahkan port input dan port output sehingga dapat menerima dan mengirim data.

Grup prosesor adalah cara mudah untuk membuat prosesor baru berdasarkan prosesor yang sudah ada.

Koneksi

Koneksi adalah antrian antar prosesor. Antrian ini memungkinkan prosesor untuk berinteraksi dengan kecepatan yang berbeda. Sambungan dapat memiliki kapasitas yang berbeda seperti ukuran pipa air yang berbeda.

Karena prosesor mengkonsumsi dan menghasilkan data pada tingkat yang berbeda tergantung pada operasi yang mereka lakukan, koneksi bertindak sebagai buffer dari FlowFiles.

Ada batasan berapa banyak data yang bisa di koneksi. Demikian pula, jika pipa air Anda penuh, Anda tidak dapat menambahkan air lagi, atau airnya meluap.

Di NiFi Anda dapat menetapkan batas jumlah FlowFile dan ukuran konten agregatnya melalui koneksi.

Apa yang terjadi jika Anda mengirim lebih banyak data daripada yang bisa ditangani koneksi?

Jika jumlah FlowFiles atau kuantitas data melebihi ambang batas yang ditentukan, tekanan balik diterapkan. Flow Controller tidak akan menjadwalkan prosesor sebelumnya untuk berjalan lagi hingga ada ruang dalam antrian.

Katakanlah Anda memiliki batas 10.000 FlowFile antara dua prosesor. Di beberapa titik, koneksi memiliki 7000 elemen di dalamnya. Tidak apa-apa karena batasnya 10.000. P1 masih bisa mengirim data melalui koneksi ke P2 .

Sekarang katakanlah prosesor yang satu mengirimkan 4.000 FlowFile baru ke koneksi.

7 0000 + 4 000 = 11 000 → Kami pergi di atas ambang koneksi 10.000 FlowFiles.

Batasannya adalah batas lunak, artinya bisa dilampaui. Namun, begitu mereka, prosesor sebelumnya, P1 tidak akan dijadwalkan sampai konektor kembali di bawah nilai ambang batasnya - 10.000 FlowFiles.

Contoh yang disederhanakan ini memberikan gambaran besar tentang cara kerja tekanan balik.

Anda ingin mengatur ambang koneksi yang sesuai dengan Volume dan Kecepatan data yang akan ditangani. Perlu diingat Empat Vs .

Gagasan untuk melampaui batas mungkin terdengar aneh. Ketika jumlah FlowFiles atau data terkait melampaui ambang batas, mekanisme swap dipicu.

Untuk contoh lain tentang tekanan balik, utas email ini dapat membantu.

Memprioritaskan FlowFiles

Konektor di NiFi sangat dapat dikonfigurasi. Anda dapat memilih bagaimana Anda memprioritaskan FlowFiles dalam antrian untuk memutuskan mana yang akan diproses selanjutnya.

Di antara kemungkinan yang tersedia, misalnya, ada urutan First In First Out - FIFO. Namun, Anda bahkan dapat menggunakan atribut pilihan Anda dari FlowFile untuk memprioritaskan paket masuk.

Pengontrol Aliran

Flow Controller adalah perekat yang menyatukan semuanya. Ini mengalokasikan dan mengelola utas untuk prosesor. Itu yang mengeksekusi dataflow.

Juga, Flow Controller memungkinkan untuk menambahkan Layanan Kontroler.

Layanan tersebut memfasilitasi pengelolaan sumber daya bersama seperti koneksi database atau kredensial penyedia layanan cloud. Layanan pengontrol adalah daemon. Mereka berjalan di latar belakang dan menyediakan konfigurasi, sumber daya, dan parameter untuk dijalankan oleh prosesor.

Misalnya, Anda dapat menggunakan layanan penyedia kredensial AWS untuk memungkinkan layanan Anda berinteraksi dengan bucket S3 tanpa harus mengkhawatirkan kredensial di tingkat prosesor.

Sama seperti prosesor, banyak layanan pengontrol tersedia di luar kotak.

Anda dapat melihat artikel ini untuk lebih banyak konten tentang layanan pengontrol.

Kesimpulan dan ajakan bertindak

Dalam kursus artikel ini, kami membahas NiFi, solusi aliran data perusahaan. Anda sekarang memiliki pemahaman yang kuat tentang apa yang dilakukan NiFi dan bagaimana Anda dapat memanfaatkan fitur perutean datanya untuk aplikasi Anda.

Jika Anda membaca ini, selamat! Anda sekarang tahu lebih banyak tentang NiFi dari 99,99% populasi dunia.

Latihan membuat sempurna. Anda menguasai semua konsep yang diperlukan untuk mulai membangun jalur pipa Anda sendiri. Sederhanakan; buat itu bekerja dulu.

Berikut adalah daftar sumber daya menarik yang saya susun di atas pengalaman kerja saya untuk menulis artikel ini.

Sumber daya?

Gambar yang lebih besar

Karena mendesain pipeline data dalam ekosistem yang kompleks membutuhkan kecakapan di banyak area, saya sangat merekomendasikan buku Designing Data-Intensive Applicationsdari Martin Kleppmann. Ini mencakup dasar-dasar.

  • Lembar contekan dengan semua referensi yang dikutip dalam buku Martin tersedia di repo Github-nya.

Cheat sheet ini adalah tempat yang tepat untuk memulai jika Anda sudah mengetahui topik apa yang ingin Anda pelajari secara mendalam dan ingin mencari materi yang berkualitas.

Alternatif untuk Apache Nifi

Ada solusi dataflow lainnya.

Sumber terbuka:

  • Streamsets mirip dengan NiFi; perbandingan yang bagus tersedia di blog ini

Sebagian besar penyedia cloud yang ada menawarkan solusi aliran data. Solusi tersebut terintegrasi dengan mudah dengan produk lain yang Anda gunakan dari penyedia cloud ini. Pada saat yang sama, ini mengikat Anda dengan kuat ke vendor tertentu.

  • Azure Data Factory, Solusi Microsoft
  • IBM memiliki InfoSphere DataStage
  • Amazon mengusulkan alat bernama Data Pipeline
  • Google menawarkan Dataflow-nya
  • Alibaba cloud memperkenalkan layanan DataWorks dengan fitur serupa

Sumber daya terkait NiFi

  • Dokumentasi resmi Nifi dan khususnya bagian Nifi In-depth adalah tambang emas.
  • Mendaftar ke milis pengguna Nifi juga merupakan cara terbaik untuk mendapatkan informasi - misalnya, percakapan ini menjelaskan tekanan balik.
  • Hortonworks, penyedia solusi data besar, memiliki website komunitas penuh sumber daya menarik dan bagaimana-untuk untuk Apache NIFI.

    - Artikel ini membahas secara mendalam tentang konektor, penggunaan heap, dan tekanan balik.

    - Yang satu ini berbagi praktik terbaik dimensi saat menerapkan klaster NiFi.

  • Blog NiFi menyaring banyak wawasan tentang pola penggunaan NiFi serta tip tentang cara membangun jaringan pipa.
  • Pola Pemeriksaan Klaim dijelaskan
  • Teori di balik Apache Nifi bukanlah hal baru, Seda yang direferensikan di Nifi Doc sangat relevan

    - Matt Welsh. Berkeley. SEDA: Arsitektur untuk Layanan Internet yang Terkondisi Baik dan Terukur [online]. Diakses: 21 Apr 2019, dari //www.mdw.la/papers/seda-sosp01.pdf