Sistem komputasi sing disebarake Apache Storm 2.0 kasedhiya

Saw cahya release pinunjul saka sistem Processing acara mbagekke Apache Storm 2.0, misuwur amarga transisi menyang arsitektur anyar sing diimplementasikake ing Jawa, tinimbang basa Clojure sing digunakake sadurunge.

Proyek kasebut ngidini sampeyan ngatur pangolahan sing dijamin macem-macem acara ing wektu nyata. Contone, Storm bisa digunakake kanggo nganalisa aliran data ing wektu nyata, mbukak tugas pembelajaran mesin, ngatur komputasi sing terus-terusan, ngetrapake RPC, ETL, lsp. Sistem ndhukung clustering, nggawe konfigurasi fault-tolerant, dijamin mode Processing data lan wis kinerja dhuwur, cukup kanggo proses luwih saka yuta panjalukan per detik ing siji simpul cluster.

Integrasi karo macem-macem sistem pangolahan antrian lan teknologi database didhukung. Arsitèktur Storm nyakup nampa lan ngolah aliran data sing ora terstruktur lan terus dianyari kanthi nggunakake pemroses kompleks sing sewenang-wenang kanthi kemampuan kanggo pamisah ing antarane tahap kalkulasi sing beda-beda. Proyek kasebut dipasrahake menyang komunitas Apache sawise Twitter entuk BackType, perusahaan sing wiwitane ngembangake kerangka kasebut. Ing praktik, Storm digunakake ing BackType kanggo nganalisa refleksi acara ing microblogs, kanthi mbandhingake tweets anyar lan pranala sing digunakake (contone, ditaksir carane pranala njaba utawa woro-woro sing diterbitake ing Twitter ditayangake maneh dening peserta liyane. ).

Fungsi Storm dibandhingake karo platform Hadoop, kanthi prabΓ©dan utama yaiku data ora disimpen ing gudang, nanging dilebokake ing njaba lan diproses kanthi nyata. Storm ora duwe lapisan panyimpenan sing dibangun lan pitakon analitis wiwit ditrapake kanggo data sing mlebu nganti dibatalake (nalika Hadoop nggunakake proyek MapReduce wektu sing winates, Storm nggunakake ide "topologi" sing terus-terusan). Eksekusi panangan bisa disebarake ing sawetara server - Storm kanthi otomatis parallelizes karya karo Utas ing kelenjar kluster beda.

Sistem kasebut wiwitane ditulis ing Clojure lan mlaku ing mesin virtual JVM. Yayasan Apache wis ngluncurake inisiatif kanggo migrasi Storm menyang kernel anyar sing ditulis ing Jawa, asile diusulake ing rilis Apache Storm 2.0. Kabeh komponen dhasar saka platform ditulis maneh ing Jawa. Dhukungan kanggo pawang nulis ing Clojure wis ditahan, nanging saiki ditawakake ing bentuk binding. Storm 2.0.0 mbutuhake Java 8. Model pangolahan multi-threaded wis rampung didesain ulang, ngidini entuk Tambah ngelingke ing kinerja (kanggo sawetara topologies, telat padha suda dening 50-80%).

Sistem komputasi sing disebarake Apache Storm 2.0 kasedhiya

Versi anyar uga nawakake API Aliran sing diketik anyar sing ngidini sampeyan nemtokake panangan nggunakake operasi gaya pemrograman fungsional. API anyar dileksanakake ing ndhuwur API basis standar lan ndhukung penggabungan otomatis operasi kanggo ngoptimalake Processing. API Windowing kanggo operasi jendhela wis nambah support kanggo nyimpen lan mulihake negara ing backend.

Dhukungan kanggo njupuk menyang akun sumber daya tambahan nalika nggawe pancasan ora winates kanggo
CPU lan memori, kayata setelan jaringan lan GPU. Akeh dandan wis digawe kanggo mesthekake integrasi karo platform Kafka. Sistem kontrol akses wis ditambahi kanggo nyakup kemampuan kanggo nggawe grup administrator lan token utusan. Tambah dandan sing ana gandhengane karo dhukungan SQL lan metrik. Printah anyar wis katon ing antarmuka administrator kanggo debugging negara cluster.

Area aplikasi kanggo Storm:

  • Ngolah aliran data anyar utawa nganyari basis data ing wektu nyata;
  • Komputasi Terus-terusan: Badai bisa mbukak pitakon terus-terusan lan ngolah aliran terus-terusan, ngirim asil pangolahan menyang klien kanthi wektu nyata.
  • Telpon Prosedur Tersebar (RPC): Storm bisa digunakake kanggo nyedhiyakake eksekusi paralel pitakon intensif sumber daya. Proyek ("topologi") ing Storm minangka fungsi sing disebarake ing node sing ngenteni pesen teka sing kudu diproses. Sawise nampa pesen, fungsi kasebut ngolah ing konteks lokal lan ngasilake asil. Conto nggunakake RPC sing disebarake yaiku ngolah pitakon telusuran kanthi paralel utawa nindakake operasi ing set gedhe.

Fitur Storm:

  • Model pemrograman prasaja sing nyederhanakake pangolahan data wektu nyata;
  • Dhukungan kanggo basa pamrograman apa wae. Modul kasedhiya kanggo Java, Ruby lan Python, adaptasi kanggo basa liyane gampang amarga protokol komunikasi sing prasaja sing mbutuhake udakara 100 baris kode kanggo ndhukung;
  • Toleransi kesalahan: kanggo mbukak proyek pangolahan data, sampeyan kudu ngasilake file jar kanthi kode. Storm bakal nyebarake file jar iki kanthi bebas ing kelenjar kluster, nyambungake panangan sing ana gandhengane, lan ngatur pemantauan. Nalika proyek rampung, kode bakal dipateni kanthi otomatis ing kabeh kelenjar;
  • Skalabilitas horisontal. Kabeh kalkulasi ditindakake ing mode paralel, nalika beban mundhak, cukup kanggo nyambungake simpul anyar menyang kluster;
  • linuwih. Storm mesthekake yen saben pesen sing mlebu wis diproses paling ora sapisan. Pesen bakal diproses sapisan mung yen ora ana kesalahan nalika ngliwati kabeh pawang; yen ana masalah, mula upaya pangolahan sing ora kasil bakal diulang.
  • Kacepetan. Kode Storm ditulis kanthi kinerja dhuwur lan nggunakake sistem kanggo olahpesen asinkron cepet ZeroMQ.

Source: opennet.ru

Add a comment