Pengenalan Konsep Dasar RabbitMQ

Diagram Konsep 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.