Sistem pengkomputeran teragih Apache Storm 2.0 tersedia

melihat cahaya keluaran penting sistem pemprosesan acara teragih Apache Storm 2.0, terkenal kerana peralihannya kepada seni bina baharu yang dilaksanakan di Jawa, bukannya bahasa Clojure yang digunakan sebelum ini.

Projek ini membolehkan anda mengatur pemprosesan terjamin pelbagai acara dalam masa nyata. Contohnya, Storm boleh digunakan untuk menganalisis aliran data dalam masa nyata, menjalankan tugas pembelajaran mesin, mengatur pengkomputeran berterusan, melaksanakan RPC, ETL, dsb. Sistem ini menyokong pengelompokan, penciptaan konfigurasi tahan kesalahan, mod pemprosesan data yang dijamin dan mempunyai prestasi tinggi, mencukupi untuk memproses lebih daripada sejuta permintaan sesaat pada satu nod kelompok.

Integrasi dengan pelbagai sistem pemprosesan baris gilir dan teknologi pangkalan data disokong. Seni bina Storm melibatkan penerimaan dan pemprosesan aliran data yang tidak berstruktur dan sentiasa dikemas kini menggunakan pemproses kompleks sewenang-wenangnya dengan keupayaan untuk membahagikan antara peringkat pengiraan yang berbeza. Projek itu diserahkan kepada komuniti Apache selepas Twitter memperoleh BackType, syarikat yang pada asalnya membangunkan rangka kerja itu. Dalam amalan, Storm digunakan dalam BackType untuk menganalisis pantulan peristiwa dalam mikroblog, dengan membandingkan dengan cepat tweet baharu dan pautan yang digunakan di dalamnya (contohnya, ia dinilai bagaimana pautan luar atau pengumuman yang diterbitkan di Twitter disiarkan semula oleh peserta lain. ).

Fungsi Storm dibandingkan dengan platform Hadoop, dengan perbezaan utama ialah data tidak disimpan dalam gudang, tetapi diserap secara luaran dan diproses dalam masa nyata. Storm tidak mempunyai lapisan storan terbina dalam dan pertanyaan analitikal mula digunakan pada data masuk sehingga ia dibatalkan (semasa Hadoop menggunakan kerja MapReduce masa terhingga, Storm menggunakan idea untuk menjalankan "topologi" secara berterusan). Pelaksanaan pengendali boleh diedarkan merentasi beberapa pelayan - Storm secara automatik menyamakan kerja dengan benang pada nod kluster yang berbeza.

Sistem ini pada asalnya ditulis dalam Clojure dan berjalan di dalam mesin maya JVM. Yayasan Apache telah melancarkan inisiatif untuk memindahkan Storm kepada kernel baharu yang ditulis dalam Java, yang hasilnya dicadangkan dalam keluaran Apache Storm 2.0. Semua komponen asas platform ditulis semula dalam Java. Sokongan untuk pengendali penulisan dalam Clojure telah dikekalkan, tetapi kini ditawarkan dalam bentuk pengikatan. Storm 2.0.0 memerlukan Java 8. Model pemprosesan berbilang benang telah direka bentuk semula sepenuhnya, membenarkan capai peningkatan yang ketara dalam prestasi (untuk sesetengah topologi, kelewatan telah dikurangkan sebanyak 50-80%).

Sistem pengkomputeran teragih Apache Storm 2.0 tersedia

Versi baharu juga menawarkan API Stream ditaip baharu yang membolehkan anda menentukan pengendali menggunakan operasi gaya pengaturcaraan berfungsi. API baharu dilaksanakan di atas API asas standard dan menyokong penggabungan automatik operasi untuk mengoptimumkan pemprosesannya. API Windowing untuk operasi tetingkap telah menambah sokongan untuk menyimpan dan memulihkan keadaan di bahagian belakang.

Sokongan untuk mengambil kira sumber tambahan apabila membuat keputusan tidak terhad kepada
CPU dan memori, seperti tetapan rangkaian dan GPU. Sebilangan besar penambahbaikan telah dibuat untuk memastikan integrasi dengan platform Kafka. Sistem kawalan akses telah diperluaskan untuk memasukkan keupayaan untuk mencipta kumpulan pentadbir dan mewakilkan token. Menambahkan penambahbaikan yang berkaitan dengan sokongan SQL dan metrik. Perintah baharu telah muncul dalam antara muka pentadbir untuk menyahpepijat keadaan kluster.

Kawasan permohonan untuk Storm:

  • Memproses aliran data baharu atau kemas kini pangkalan data dalam masa nyata;
  • Pengkomputeran Berterusan: Ribut boleh menjalankan pertanyaan berterusan dan memproses aliran berterusan, menyampaikan hasil pemprosesan kepada pelanggan dalam masa nyata.
  • Panggilan Prosedur Jauh (RPC) Teragih: Ribut boleh digunakan untuk menyediakan pelaksanaan selari pertanyaan intensif sumber. Tugas ("topologi") dalam Storm ialah fungsi yang diedarkan merentasi nod yang menunggu mesej tiba yang perlu diproses. Selepas menerima mesej, fungsi memprosesnya dalam konteks setempat dan mengembalikan hasilnya. Contoh penggunaan RPC teragih ialah memproses pertanyaan carian secara selari atau melaksanakan operasi pada set set yang besar.

Ciri-ciri Ribut:

  • Model pengaturcaraan ringkas yang sangat memudahkan pemprosesan data masa nyata;
  • Sokongan untuk mana-mana bahasa pengaturcaraan. Modul tersedia untuk Java, Ruby dan Python, penyesuaian untuk bahasa lain adalah mudah terima kasih kepada protokol komunikasi yang sangat mudah yang memerlukan kira-kira 100 baris kod untuk menyokong;
  • Toleransi kesalahan: untuk menjalankan kerja pemprosesan data, anda perlu menjana fail balang dengan kod. Storm akan mengedarkan fail balang ini secara bebas merentasi nod kluster, menyambungkan pengendali yang berkaitan dengannya dan mengatur pemantauan. Apabila kerja selesai, kod akan dilumpuhkan secara automatik pada semua nod;
  • Skala mendatar. Semua pengiraan dilakukan dalam mod selari; apabila beban meningkat, cukup dengan hanya menyambungkan nod baharu ke kluster;
  • Kebolehpercayaan. Storm memastikan bahawa setiap mesej yang masuk diproses sepenuhnya sekurang-kurangnya sekali. Mesej akan diproses sekali sahaja jika tiada ralat semasa melalui semua pengendali; jika masalah timbul, maka percubaan pemprosesan yang tidak berjaya akan diulang.
  • Kelajuan. Kod Storm ditulis dengan mengambil kira prestasi tinggi dan menggunakan sistem untuk pemesejan tak segerak yang pantas ZeroMQ.

Sumber: opennet.ru

Tambah komen