Pengenalan Konsep Dasar RabbitMQ
Diagram Konsep RabbitMQ
Penjelasan Konsep
Pesan
Sebuah pesan terdiri dari header pesan (yaitu informasi konfigurasi tambahan) dan badan pesan (yaitu konten pesan).
Pembuat
Penghasil pesan, yang merupakan aplikasi klien yang menerbitkan pesan ke pertukaran.
Pertukaran
Pertukaran digunakan untuk menerima pesan yang dikirim oleh penghasil dan mengarahkan pesan-pesan ini ke antrian di server.
Ada empat jenis pertukaran:
-
Jenis langsung: Membandingkan kunci routing dalam pesan dengan kunci routing yang terkait dengan semua ikatan pertukaran. Jika cocok, pesan dikirim ke antrian yang sesuai dengan ikatan tersebut.
-
Jenis topik: Membandingkan kunci routing dalam pesan dengan kunci routing yang terkait dengan semua ikatan pertukaran. Jika ada kecocokan, pesan dikirim ke antrian yang sesuai dengan ikatan tersebut.
-
Jenis fanout: Langsung meneruskan pesan-pesan ke antrian-antrian yang sesuai dengan semua ikatan, mengabaikan kunci routing selama routing.
-
Jenis kepala: Memadankan header dalam pesan dengan parameter yang terkait dengan semua ikatan pertukaran. Jika ada kecocokan, pesan dikirim ke antrian yang sesuai dengan ikatan tersebut (kurang umum digunakan, mirip dengan jenis langsung).
Catatan: Penjelasan detail jenis-jenis pertukaran akan diberikan dalam bagian-bagian berikut tentang mode kerja. Ini hanya sekadar gambaran.
Ikatan
Hubungan yang digunakan untuk membangun koneksi antara antrian-antrian pesan dan pertukaran.
Antrian
Antrian pesan yang digunakan untuk menyimpan pesan-pesan sampai mereka disampaikan ke konsumen. Antrian berfungsi sebagai kontainer untuk pesan-pesan dan ujung untuk pesan-pesan. Sebuah pesan dapat disampaikan ke satu atau lebih antrian. Pesan-pesan tetap berada di antrian, menunggu konsumen untuk terhubung dan mengambilnya.
Koneksi
Koneksi jaringan, seperti koneksi TCP.
Saluran
Saluran adalah koneksi virtual yang didirikan dalam koneksi TCP yang sebenarnya. Semua perintah AMQP dikirim melalui saluran, baik itu menerbitkan pesan, berlangganan antrian, atau menerima pesan. Desain ini memperkenalkan konsep saluran untuk mengggunakan kembali satu koneksi TCP tunggal, karena mendirikan dan mengakhiri koneksi TCP merupakan biaya yang mahal bagi sistem operasi.
Konsumen
Pengonsumsi pesan, mewakili aplikasi klien yang mengambil pesan dari antrian pesan.
Host Virtual
Sebuah host virtual mewakili sekumpulan pertukaran, antrian pesan, dan objek terkait. Ini adalah domain server independen yang berbagi lingkungan autentikasi dan enkripsi yang sama. Setiap vhost pada dasarnya adalah versi mini dari server RabbitMQ, dengan antrian-antrian, pertukaran, ikatan, dan mekanisme izinnya sendiri.
Vhost adalah konsep dasar dalam AMQP dan harus ditentukan saat menjalin koneksi. Vhost default untuk RabbitMQ adalah /.
Catatan: Host Virtual adalah bentuk strategi isolasi sumber daya yang memungkinkan pembagian beberapa area terisolasi dalam server RabbitMQ yang sama.
Pialang
Mewakili entitas fisik server antrian pesan.