Sistem pemesejan diedarkan Apache Storm
Apache Storm memproses data masa nyata, dan input biasanya datang daripada sistem baris gilir mesej. Sistem pemesejan teragih luaran akan menyediakan input yang diperlukan untuk pengiraan masa nyata. Spout akan membaca data daripada sistem pemesejan, menukarnya menjadi tupel dan memasukkannya ke Apache Storm. Menariknya, Apache Storm menggunakan sistem pemesejan yang diedarkan sendiri secara dalaman untuk komunikasi antara nimbus dan penyelianya.
Apakah itu sistem pemesejan teragih?
Pemesejan yang diedarkan adalah berdasarkan konsep baris gilir mesej yang boleh dipercayai. Mesej dibariskan secara tidak segerak antara aplikasi klien dan sistem pemesejan. Sistem pemesejan teragih memberikan faedah kebolehpercayaan, skalabiliti dan ketahanan.
Kebanyakan corak pemesejan mengikut model Terbitkan-Langgan (Terbitkan-Langgan ringkasnya), di mana penghantar mesej dipanggil penerbit dan mereka yang ingin menerima mesej dipanggil pelanggan.
Apabila mesej telah diterbitkan oleh pengirim, pelanggan boleh menerima mesej yang dipilih dengan bantuan pilihan penapisan. Biasanya kita ada dua jenis penapisan, satu penapisan berasaskan topik dan satu lagi penapisan berasaskan kandungan.
Perlu diingatkan bahawa model sub-pub hanya boleh berkomunikasi melalui mesej. Ia adalah seni bina yang sangat longgar digabungkan; malah pengirim tidak tahu siapa pelanggan mereka. Banyak corak pemesejan membolehkan broker mesej bertukar-tukar mesej yang diterbitkan untuk akses tepat pada masanya oleh ramai pelanggan. Contoh kehidupan sebenar ialah Dish TV yang menerbitkan saluran yang berbeza seperti sukan, filem, muzik, dll. Sesiapa sahaja boleh melanggan set saluran mereka sendiri dan mendapatkan saluran yang mereka langgan apabila tersedia.
![1488530264417366.jpg messaging_system.jpg](https://img.php.cn/upload/image/787/705/743/1488530264417366.jpg)
Jadual berikut menerangkan beberapa sistem pemesejan throughput tinggi yang popular -
Sistem Pemesejan Teragih | Penerangan |
---|---|
Apache Kafka | yang kemudiannya dibangunkan sebagai subprojek LinkedIn KafkaApache Kafka | daripada . Apache Kafka adalah berdasarkan model yang boleh dibrokerkan, tahan lama, diedarkan langgan-terbitkan. Kafka adalah pantas, berskala dan cekap.
RabbitMQ | RabbitMQ ialah aplikasi pemesejan teguh yang diedarkan sumber terbuka. Ia mudah digunakan dan berjalan pada semua platform. |
JMS (Java Message Service) | JMS ialah API sumber terbuka yang menyokong penciptaan, membaca dan menghantar mesej daripada satu aplikasi ke aplikasi yang lain. Ia menyediakan pemesejan terjamin dan mengikut model publish-subscribe. |
ActiveMQ | Sistem pemesejan ActiveMQ ialah API sumber terbuka untuk JMS. |
ZeroMQ | ZeroMQ ialah pemprosesan mesej rakan sebaya tanpa broker. Ia menyediakan mod pemesejan tolak-tarik, penghala-penjual semula. |
Kestrel | Kestrel ialah baris gilir mesej yang cepat, boleh dipercayai dan mudah. |
Thrift Protocol
Thrift dibina di Facebook untuk pembangunan perkhidmatan merentas bahasa dan panggilan prosedur jauh (RPC). Kemudian, ia menjadi projek Apache sumber terbuka. Apache Thrift ialah bahasa definisi antara muka yang membolehkan jenis data baharu dan pelaksanaan perkhidmatan ditakrifkan di atas jenis data yang ditentukan dengan cara yang mudah.
Apache Thrift juga merupakan rangka kerja komunikasi yang menyokong sistem terbenam, aplikasi mudah alih, aplikasi web dan banyak bahasa pengaturcaraan lain. Beberapa ciri utama yang dikaitkan dengan Apache Thrift ialah modulariti, fleksibiliti dan prestasi tingginya. Selain itu, ia boleh melakukan penstriman, pemesejan dan RPC dalam aplikasi yang diedarkan.
Storm menggunakan protokol Thrift secara meluas untuk komunikasi dalaman dan definisi data. Topologi ribut hanyalah Thrift Structs. Storm Nimbus ialah Perkhidmatan Jimat yang menjalankan topologi dalam Apache Storm.