Antrean dan Topik adalah dua model pesan yang didukung oleh JMS: 1. Model pesan antrean point-to-point (PTP): Dengan model perpesanan ini, satu aplikasi (yaitu, produsen pesan) dapat mengirim pesan ke aplikasi lain (yaitu, konsumen pesan). Dalam model pengiriman ini, jenis tujuan pesan adalah antrean (yaitu, instans kelas implementasi antarmuka tujuan dibuat oleh instans kelas implementasi antarmuka sesi dengan memanggil metode createQueue dan meneruskan nama antrean). Pesan pertama kali dikirimkan ke antrean tertentu di sisi server pesan, dan dari sana, pesan dikirimkan ke konsumen yang mendengarkan antrean ini. Antrean yang sama dapat mengaitkan beberapa produsen pesan dan konsumen pesan, tetapi pesan hanya dapat dikirimkan ke satu konsumen pesan. Jika beberapa konsumen pesan mendengarkan pesan pada antrean, server pesan JMS menentukan konsumen pesan mana yang menerima pesan berikutnya berdasarkan prinsip "siapa cepat dia dapat". Jika tidak ada konsumen pesan yang mendengarkan antrean, pesan tetap berada dalam antrean hingga konsumen pesan terhubung ke antrean. Model perpesanan ini adalah model malas atau polling dalam arti tradisional. Dalam model ini, pesan tidak secara otomatis didorong ke konsumen pesan, tetapi diminta dari antrean oleh konsumen pesan. 2. Publikasi/berlangganan (pub/sub) model pesan topik: Dengan model perpesanan ini, aplikasi dapat mengirim satu pesan ke beberapa konsumen pesan. Dalam model pengiriman ini, jenis tujuan pesan adalah topik (yaitu, instans kelas implementasi antarmuka tujuan dibuat oleh instans kelas implementasi antarmuka Sesi dengan memanggil metode createTopic dan meneruskan nama topik). Pesan pertama kali diterbitkan ke topik tertentu di server pesan oleh produsen pesan, yang kemudian mengirimkan pesan ke semua konsumen yang telah berlangganan topik tersebut. Sasaran topik juga mendukung langganan jangka panjang. Langganan jangka panjang berarti konsumen terdaftar dalam sasaran topik, tetapi konsumen dapat tidak aktif saat pesan mencapai tujuan. Pesan akan diterima saat konsumen aktif kembali. Jika tidak ada konsumen yang terdaftar di tujuan topik, topik akan mempertahankan pesan hanya untuk konsumen tidak aktif yang telah mendaftar langganan jangka panjang. Tidak seperti model pesan PTP, model pesan pub/sub memungkinkan beberapa pelanggan topik untuk menerima pesan yang sama. JMS menyimpan pesan hingga semua pelanggan topik menerimanya. Model perpesanan pub/sub pada dasarnya adalah model push. Dalam model ini, pesan disiarkan secara otomatis, dan konsumen pesan tidak perlu secara aktif meminta atau melakukan polling topik untuk mendapatkan pesan baru. Perbedaan spesifiknya adalah sebagai berikut:
jenis
| Topik
| Antrean | Ikhtisar
| Publikasikan pesan berlangganan Publikasikan pesan langganan
| Point-to-Point Point-to-Point
| Tidak ada negara bagian
| Data topik tidak memiliki status secara default.
| Data antrean disimpan sebagai file di server MQ secara default, misalnya, Active MQ biasanya disimpan di bawah $AMQ_HOME\data\kr-store\data. Itu juga dapat dikonfigurasi sebagai penyimpanan DB.
| Jaminan integritas
| Tidak ada jaminan bahwa setiap data yang diterbitkan oleh penerbit akan diterima oleh pelanggan.
| Queue menjamin bahwa setiap bagian data dapat diterima oleh penerima.
| apakah pesan akan hilang
| Secara umum, ketika penerbit menerbitkan pesan ke topik, hanya sub yang mendengarkan alamat topik yang dapat menerima pesan tersebut. Jika tidak ada sub mendengarkan, topiknya hilang.
| Pengirim mengirim pesan ke Antrean target, dan penerima dapat menerima pesan pada Antrean ini secara asinkron. Pesan di Antrian tidak akan hilang jika tidak ada penerima untuk mengambilnya untuk saat ini.
| Kebijakan penerimaan rilis pesan
| Kebijakan penerbitan dan penerimaan pesan satu-ke-banyak, beberapa sub yang mendengarkan alamat topik yang sama dapat menerima pesan yang dikirim oleh penerbit. Sub menerima pemberitahuan ke server mq
| Kebijakan penerbitan dan penerimaan pesan satu-ke-satu, pesan yang dikirim oleh pengirim hanya dapat diterima oleh satu penerima. Setelah penerima menerima, server MQ memberi tahu server MQ bahwa telah diterima, dan server MQ menghapus atau mengambil tindakan lain pada pesan dalam antrean.
|
|