Seni bina kluster Apache Storm
Sorotan utama Apache Storm ialah ia adalah aplikasi yang diedarkan dengan toleransi kesalahan, pantas dan tiada "titik kegagalan tunggal" (SPOF). Kami boleh memasang Apache Storm dalam berbilang sistem seperti yang diperlukan untuk meningkatkan kapasiti aplikasi.
Mari kita lihat cara kluster Apache Storm direka bentuk dan seni bina dalamannya. Rajah berikut menggambarkan reka bentuk kelompok.
Apache Storm mempunyai dua jenis nod, Nimbus (nod induk) dan Supervisor (nod pekerja). Nimbus ialah komponen teras Apache Storm. Tugas utama Nimbus adalah menjalankan topologi Storm. Nimbus menganalisis topologi dan mengumpul tugas untuk dilaksanakan. Ia kemudian memberikan tugas kepada penyelia yang ada.
Penyelia akan mempunyai satu atau lebih proses pekerja. Penyelia mengagihkan tugas kepada proses pekerja. Proses pekerja akan melahirkan seberapa banyak pelaksana dan menjalankan tugas seperti yang diperlukan. Apache Storm menggunakan sistem pemesejan teragih dalaman untuk komunikasi antara Nimbus dan hypervisor.
Komponen | Penerangan |
---|---|
Nimbus (Nod Induk) | Nimbus ialah nod induk gugusan Ribut. Semua nod lain dalam kluster dipanggil nod pekerja. Nod induk bertanggungjawab untuk mengedarkan data antara semua nod pekerja, memberikan tugas kepada nod pekerja dan memantau kegagalan. |
Penyelia (nod pekerja) | Nod yang mengikut arahan dipanggil Penyelia. Penyelia mempunyai pelbagai proses pekerja, dan ia menguruskan proses pekerja untuk menyelesaikan tugas yang diberikan oleh nimbus. |
Proses pekerja | Proses pekerja akan melaksanakan tugas yang berkaitan dengan topologi tertentu. Daripada menjalankan tugas sendiri, proses pekerja mencipta pelaksana dan meminta mereka melaksanakan tugas tertentu. Proses pekerja akan mempunyai berbilang pelaksana. |
Pelaksana | Pelaksana hanyalah satu utas yang dihasilkan oleh proses pekerja. Pelaksana menjalankan satu atau lebih tugas, tetapi hanya untuk muncung atau bolt tertentu. |
Task (Task) | Task melakukan pemprosesan data sebenar. Jadi, ia adalah muncung atau bolt. |
Rangka kerja ZooKeeper (rangka kerja ZooKeeper) | Apache ZooKeeper ialah perkhidmatan yang menggunakan kluster (kumpulan nod) untuk menyelaraskan antara mereka dan mengekalkan data yang dikongsi dengan teknologi penyegerakan yang berkuasa. Nimbus adalah tanpa kerakyatan, jadi ia bergantung pada ZooKeeper untuk memantau status nod pekerja. ZooKeeper membantu penyelia berinteraksi dengan nimbus. Ia bertanggungjawab untuk mengekalkan status nimbus dan penyelia. |
Ribut tiada kerakyatan. Walaupun sifat tanpa kewarganegaraan mempunyai kelemahannya sendiri, ia sebenarnya membantu Storm mengendalikan data masa nyata dengan cara yang terbaik dan terpantas.
Ribut bukanlah tanpa kewarganegaraan sepenuhnya. Ia menyimpan keadaannya di Apache ZooKeeper. Memandangkan keadaan tersedia dalam Apache ZooKeeper, rangkaian yang gagal boleh dimulakan semula dan berfungsi dari tempat ia berhenti. Biasanya, alat pemantauan perkhidmatan seperti monit akan memantau Nimbus dan memulakannya semula sekiranya berlaku sebarang kegagalan.
Apache Storm juga mempunyai topologi lanjutan yang dipanggil topologi Trident, yang mempunyai penyelenggaraan keadaan dan juga menyediakan API peringkat tinggi seperti Babi. Kami akan membincangkan semua ciri ini dalam bab berikut.