Apache Storm 2.0 sistem komputasi disebarkeun sadia

ningal cahaya release signifikan tina sistem processing acara disebarkeun Apache Storm 2.0, kasohor transisi na kana arsitektur anyar dilaksanakeun di Jawa, tinimbang basa Clojure saméméhna dipaké.

Proyék ngamungkinkeun anjeun pikeun ngatur pamrosésan anu dijamin pikeun sagala rupa acara sacara real waktos. Salaku conto, Storm tiasa dianggo pikeun nganalisis aliran data sacara real waktos, ngajalankeun tugas pembelajaran mesin, ngatur komputasi kontinyu, ngalaksanakeun RPC, ETL, jsb. Sistim nu ngarojong clustering, kreasi konfigurasi lepat-toleran, dijamin mode processing data sarta boga kinerja tinggi, cukup pikeun ngolah leuwih ti sajuta requests per detik dina hiji titik klaster.

Integrasi sareng sababaraha sistem ngolah antrian sareng téknologi database dirojong. Arsitéktur Storm ngalibatkeun narima jeung ngolah teu terstruktur, terus diropéa aliran data ngagunakeun prosésor kompléks sawenang jeung kamampuhan pikeun partisi antara tahapan béda itungan. Proyék ieu dipasrahkeun ka komunitas Apache saatos Twitter ngagaduhan BackType, perusahaan anu mimitina ngembangkeun kerangka éta. Dina prakna, Storm dipaké dina BackType pikeun nganalisis pantulan kajadian dina microblogs, ku ngabandingkeun dina laleur tweets anyar jeung tumbu dipaké di antarana (contona, ieu ditaksir kumaha Tumbu éksternal atawa announcements diterbitkeun dina Twitter anu rebroadcasts ku pamilon séjén. ).

Fungsi Storm dibandingkeun sareng platform Hadoop, sareng bédana konci nyaéta yén data henteu disimpen di gudang, tapi diémutan sacara éksternal sareng diolah sacara real waktos. Badai teu gaduh lapisan panyimpen anu diwangun sareng patarosan analitis mimiti diterapkeun kana data anu asup dugi ka dibatalkeun (bari Hadoop nganggo padamelan MapReduce waktos terbatas, Storm nganggo ideu pikeun terus ngajalankeun "topologies"). Palaksanaan pawang tiasa disebarkeun ka sababaraha server - Storm otomatis parallelize karya sareng benang dina titik kluster anu béda.

Sistim nu asalna ditulis dina Clojure tur ngalir di jero mesin virtual JVM. Yayasan Apache parantos ngaluncurkeun inisiatif pikeun migrasi Storm ka kernel énggal anu ditulis dina Java, anu hasilna diusulkeun dina sékrési Apache Storm 2.0. Sakabéh komponén dasar tina platform nu ditulis ulang dina Java. Rojongan pikeun nulis pawang di Clojure geus dipikagaduh, tapi ayeuna ditawarkeun dina bentuk bindings. Storm 2.0.0 merlukeun Java 8. Modél processing multi-threaded geus sagemblengna redesigned, sahingga ngahontal paningkatan nyata dina kinerja (pikeun sababaraha topologies, reureuh diréduksi ku 50-80%).

Apache Storm 2.0 sistem komputasi disebarkeun sadia

Versi anyar ogé nawiskeun Streams API anu diketik énggal anu ngamungkinkeun anjeun pikeun ngartikeun pawang nganggo operasi gaya programming fungsional. API anyar dilaksanakeun dina luhureun API dasar baku tur ngarojong merging otomatis operasi pikeun ngaoptimalkeun processing maranéhna. API Windowing pikeun operasi jandela geus ditambahkeun rojongan pikeun nyimpen jeung malikkeun kaayaan di backend nu.

Rojongan pikeun nyokot kana akun sumberdaya tambahan nalika nyieun kaputusan teu diwatesan ku
CPU sareng mémori, sapertos setélan jaringan sareng GPU. Sajumlah ageung perbaikan parantos dilakukeun pikeun mastikeun integrasi sareng platform Kafka. Sistem kontrol aksés geus dimekarkeun pikeun ngawengku kamampuh nyieun grup administrator jeung tokens utusan. Ditambahkeun perbaikan anu aya hubunganana sareng dukungan SQL sareng métrik. Paréntah anyar geus mucunghul dina panganteur administrator pikeun debugging kaayaan klaster.

Wewengkon aplikasi pikeun Storm:

  • Ngolah aliran data anyar atanapi apdet database sacara real waktos;
  • Komputasi Kontinyu: Badai tiasa ngajalankeun patarosan kontinyu sareng ngolah aliran kontinyu, nganteurkeun hasil pamrosésan ka klien sacara real waktos.
  • Disebarkeun Jauh Prosedur Telepon (RPC): Storm bisa dipaké pikeun nyadiakeun palaksanaan paralel queries sumberdaya-intensif. Pakasaban ("topologi") dina Storm nyaéta fungsi anu disebarkeun ka titik-titik anu ngantosan pesen sumping anu kedah diolah. Saatos nampi pesen, fungsina ngolah dina kontéks lokal sareng ngabalikeun hasilna. Conto ngagunakeun RPC anu disebarkeun nyaéta pikeun ngolah pamundut pamilarian sacara paralel atanapi ngalakukeun operasi dina sakumpulan set anu ageung.

Fitur Storm:

  • Hiji modél programming basajan nu greatly simplifies ngolah data real-time;
  • Rojongan pikeun sagala basa programming. Modul sayogi pikeun Java, Ruby sareng Python, adaptasi pikeun basa sanés gampang berkat protokol komunikasi anu saderhana pisan anu peryogi 100 garis kode pikeun ngadukung;
  • Kasabaran kasalahan: pikeun ngajalankeun padamelan ngolah data, anjeun kedah ngahasilkeun file jar sareng kode. Badai bakal bebas ngadistribusikaeun file jar ieu sakuliah titik klaster, nyambungkeun pawang pakait sareng eta, tur ngatur monitoring. Nalika padamelan parantos réngsé, kodeu bakal otomatis ditumpurkeun dina sadaya titik;
  • Skalabilitas horizontal. Sadaya itungan dilakukeun dina modeu paralel, nalika beban ningkat, cukup ngan saukur nyambungkeun titik-titik anyar kana kluster;
  • Reliabiliti. Badai mastikeun yén unggal pesen anu asup diolah sapinuhna sahenteuna sakali. Suratna bakal diolah sakali ngan upami teu aya kasalahan nalika ngalangkungan sadaya pawang; upami aya masalah, maka usaha ngolah anu gagal bakal diulang deui.
  • Laju. Kode Storm ditulis kalawan kinerja luhur dina pikiran tur ngagunakeun sistem pikeun olahtalatah Asynchronous gancang ZeroMQ.

sumber: opennet.ru

Tambahkeun komentar