Pertukaran digunakan untuk merutekan pesan dari produser ke satu atau lebih antrian atau membuang pesan tersebut. Routing dilakukan berdasarkan kunci routing, dengan aturan routing yang bervariasi tergantung pada jenis pertukaran. Topik ini menjelaskan cara membuat pertukaran, melihat statistiknya, mengikat pertukaran ke antrian, menggunakan pertukaran sebagai sumber atau tujuan, serta mengirim pesan dalam pertukaran ke antrian terikat di konsol ApsaraMQ for RabbitMQ.
Buat pertukaran
Masuk ke Konsol ApsaraMQ for RabbitMQ. Di panel navigasi sisi kiri, klik Instances.
Di bilah navigasi atas halaman Instances, pilih wilayah tempat instance yang ingin Anda kelola berada. Kemudian, dalam daftar instance, klik nama instance yang ingin Anda kelola.
Di panel navigasi sisi kiri, klik Exchanges.
Pada halaman Exchanges, klik panah drop-down di sebelah vhost. Dari daftar drop-down Change, pilih vhost tempat Anda ingin membuat pertukaran. Lalu, klik Create Exchange.
Di panel Create Exchange, konfigurasikan Nama Pertukaran, Type, dan parameter Internal. Lalu, klik OK. Tabel berikut menjelaskan parameter-parameter tersebut.
Parameter
Deskripsi
Exchange Name
Nama pertukaran. amq. adalah bidang yang dicadangkan dan tidak dapat digunakan sebagai awalan nama pertukaran. Sebagai contoh, Anda tidak dapat menggunakan amq.test sebagai nama pertukaran.
Type
Tipe pertukaran. Nilai valid:
direct: Pertukaran tipe ini merutekan pesan ke antrian yang memiliki kunci routing sama dengan kunci routing pesan.
topic: Pertukaran tipe ini mirip dengan pertukaran tipe direct. Namun, aturan routing untuk pertukaran topic kurang ketat dibandingkan dengan pertukaran direct. Pertukaran topic merutekan pesan ke satu atau lebih antrian terikat berdasarkan hasil pencocokan fuzzy atau multi-kondisi antara kunci routing pesan dan kunci routing yang digunakan untuk mengikat antrian ke pertukaran.
fanout: Pertukaran tipe ini merutekan semua pesan yang diterima ke semua antrian yang terikat pada pertukaran. Pertukaran fanout bekerja dengan cara yang serupa dengan fitur penyiaran.
headers: Pertukaran tipe ini mirip dengan pertukaran tipe direct. Satu-satunya perbedaan antara pertukaran headers dan pertukaran direct adalah bahwa pertukaran headers merutekan pesan berdasarkan atribut headers alih-alih kunci routing. Saat Anda mengikat pertukaran headers ke antrian, Anda harus mengonfigurasi atribut pengikatan dalam format key-value. Saat Anda mengirim pesan ke pertukaran headers, Anda harus mengonfigurasi atribut headers dalam format key-value untuk pesan tersebut. Setelah pertukaran headers menerima pesan, pertukaran merutekan pesan berdasarkan hasil pencocokan antara atribut headers pesan dan atribut pengikatan antrian terikat.
x-delayed-message: Anda dapat mendeklarasikan pertukaran tipe ini dan mengonfigurasi atribut header x-delay dari pesan untuk menentukan periode waktu setelah mana pesan dikirim. Periode waktu dalam milidetik. Pesan dikirim ke antrian yang sesuai setelah periode waktu yang ditentukan oleh atribut header x-delay berakhir. Pertukaran merutekan pesan berdasarkan aturan routing yang sesuai dengan tipe pertukaran yang ditentukan oleh x-delayed-type.
x-consistent-hash: Pertukaran tipe ini memungkinkan Anda melakukan perhitungan hash pada kunci routing atau nilai header dan menggunakan hashing konsisten untuk merutekan pesan ke antrian yang berbeda.
x-delayed-type
Jika Anda menyetel parameter Type ke x-delayed-message, Anda harus mengonfigurasi parameter ini untuk menentukan aturan routing untuk pertukaran.
Hash value
Jika Anda menyetel parameter Type ke x-consistent-hash, Anda harus mengonfigurasi parameter ini untuk menentukan jenis nilai input untuk perhitungan hash. Nilai valid:
RoutingKey
Header Value: Jika Anda menggunakan header sebagai nilai input untuk perhitungan hash, Anda harus menentukan nilai untuk parameter hash-header.
hash-header
Jika Anda menetapkan parameter Tipe ke x-consistent-hash dan parameter Hash value ke Header Value, konfigurasikan parameter ini sebagai nilai input untuk perhitungan hash.
Internal
Menentukan apakah pertukaran merupakan pertukaran internal. Nilai default: No. Nilai valid:
Yes: Pertukaran adalah pertukaran internal dan terikat ke pertukaran lain.
No: Pertukaran bukan pertukaran internal dan terikat ke antrian.
Lihat statistik pertukaran
Anda dapat melihat berbagai metrik untuk mengidentifikasi dan menemukan masalah sejak dini.
Pada halaman Exchanges, temukan pertukaran yang statistiknya ingin Anda lihat dan klik Details di kolom Actions.
Di halaman Exchange Details, klik tab Monitoring and Alerting atau Dashboard.
Statistik pertukaran bervariasi berdasarkan edisi instance. Item berikut menjelaskan detailnya:
Enterprise Edition dan Enterprise Platinum Edition: Anda dapat melihat metrik yang disediakan oleh Managed Service for Prometheus dan Managed Service for Grafana. Untuk informasi tentang dashboard dan metrik yang ditampilkan di dashboard, lihat Dashboard.
Standard Edition dan Professional Edition: Anda dapat melihat data pemantauan yang disediakan oleh CloudMonitor. Untuk informasi tentang metrik yang disediakan oleh CloudMonitor, lihat Monitoring and alerting.
CatatanApsaraMQ for RabbitMQ tidak lagi mengizinkan Anda membeli instance Standard Edition. Namun, Anda dapat terus menggunakan instance Standard Edition yang sudah ada.
Mengikat pertukaran ke antrian
Anda dapat mengikat pertukaran ke antrian untuk menentukan antrian ke mana pertukaran merutekan pesan.
Pada halaman Exchanges, temukan pertukaran yang ingin Anda kelola dan klik Bound as Source di kolom Actions.
Pada tab Bound as Source halaman Exchange Details, klik Add Binding.
Di panel Add Binding, atur parameter Type of Destination to Bind ke Queue, pilih antrian dari daftar drop-down Destination to Bind, konfigurasikan parameter Routing Key, lalu klik OK.
CatatanJika tipe pertukaran yang ingin Anda ikat ke antrian adalah x-consistent-hash, parameter Routing Key menentukan bobot antrian. Nilai parameter Routing Key bisa berupa bilangan bulat dari 1 hingga 20.
Jika sebuah pertukaran diikat ke antrian beberapa kali, hanya pengikatan pertama yang memenuhi kondisi yang berlaku.
Untuk mengubah bobot antrian yang terikat pada pertukaran, Anda harus menghapus pengikatan yang ada sebelum menambahkan pengikatan baru.

Gunakan pertukaran tertentu sebagai pertukaran sumber
Anda dapat menggunakan pertukaran tertentu sebagai sumber dan mengikatnya ke pertukaran lain. Dengan cara ini, Anda dapat meneruskan pesan dalam pertukaran ke pertukaran lain berdasarkan aturan routing.
Pada halaman Exchanges, temukan pertukaran yang ingin Anda kelola dan klik Bound as Source di kolom Actions.
Pada tab Bound as Source halaman Exchange Details, klik Add Binding.
Di panel Add Binding, atur parameter Type of Destination to Bind ke Exchange, pilih pertukaran dari daftar drop-down Destination to Bind, konfigurasikan parameter Routing Key, lalu klik OK.

Gunakan pertukaran tertentu sebagai pertukaran tujuan
Anda dapat menggunakan pertukaran tertentu sebagai tujuan dan mengikat pertukaran lain ke pertukaran tersebut. Dengan cara ini, Anda dapat meneruskan pesan dalam pertukaran lain ke pertukaran berdasarkan aturan routing.
Pada halaman Exchanges, temukan pertukaran yang ingin Anda kelola dan klik Details di kolom Actions.
Di halaman Exchange Details, pilih tab Bound as Destination. Selanjutnya, klik Add Binding.
Di panel Add Binding, pilih pertukaran dari daftar drop-down Source Exchange, masukkan kunci routing di bidang Routing Key, gunakan nilai default untuk Type of Destination to Bind dan Destination Exchange, lalu klik OK.

Kirim pesan
Setelah Anda menambahkan pengikatan ke pertukaran, Anda dapat mengirim pesan dalam pertukaran ke antrian yang terikat pada pertukaran atau mengirim pesan dalam pertukaran tujuan ke pertukaran sumber di konsol ApsaraMQ for RabbitMQ.
Pada halaman Exchanges, temukan pertukaran yang ingin Anda kelola dan klik Details di kolom Actions.
Pada halaman Exchange Details, klik tab Bound as Source atau Bound as Destination.
Dalam daftar Bound as Source atau Bound as Destination, pilih pengikatan yang ditentukan dan klik Send Message di kolom Actions.
Di panel Send Message, konfigurasikan parameter Message ID dan Message Body. Lalu, klik OK.
Hapus pertukaran
Setelah Anda menghapus pertukaran, produser tidak dapat lagi mengirim pesan ke pertukaran atau merutekan pesan dalam pertukaran ke satu atau lebih antrian. Lanjutkan dengan hati-hati.
Anda tidak dapat menghapus pertukaran tipe headers.
Anda tidak dapat menghapus pertukaran bawaan dalam vhost. Pertukaran ini adalah amq.direct, amq.topic, dan amq.fanout.
Pada halaman Exchanges, klik nama pertukaran yang ingin Anda hapus. Di sudut kanan atas halaman Exchange Details, klik Delete.
Di pesan Note, klik OK.
Referensi
Untuk informasi lebih lanjut tentang pertukaran, lihat Exchange.