All Products
Search
Document Center

ApsaraMQ for RabbitMQ:Exchanges

Last Updated:Jun 03, 2026

Exchange mengarahkan pesan dari produsen ke satu atau beberapa queue atau membuangnya berdasarkan routing key. Setiap tipe exchange menerapkan aturan routing yang berbeda. Anda dapat membuat exchange, melihat statistik, mengonfigurasi binding, dan mengirim pesan uji di konsol Alibaba Cloud Message Queue for RabbitMQ.

Buat exchange

  1. Masuk ke ApsaraMQ for RabbitMQ console. Di panel navigasi sebelah kiri, klik Instances.

  2. Di bilah navigasi atas halaman Instances, pilih wilayah tempat instans yang ingin Anda kelola berada. Lalu, dalam daftar instans, klik nama instans yang ingin Anda kelola.

  3. Di panel navigasi sebelah kiri, klik Exchanges.

  4. Pada halaman Exchanges, pilih vhost dari daftar drop-down Change di samping vhost, lalu klik Create Exchange.

  5. Di panel Create Exchange, masukkan Exchange Name, pilih Type, tentukan apakah exchange tersebut merupakan exchange internal, lalu klik OK.

    Parameter

    Deskripsi

    Exchange Name

    Nama exchange. Nama yang diawali dengan amq. bersifat reserved. Misalnya, amq.test tidak valid.

    Type

    Tipe exchange. Nilai yang valid:

    • direct: Mengarahkan pesan ke queue yang binding key-nya persis cocok dengan routing key.

    • topic: Mirip dengan direct, tetapi mendukung pencocokan pola wildcard antara routing key dan binding key.

    • fanout: Mengarahkan semua pesan ke setiap queue yang terikat (bound), mirip dengan siaran (broadcast).

    • headers: Mengarahkan pesan dengan mencocokkan atribut header pesan terhadap atribut binding, keduanya ditentukan sebagai pasangan kunci-nilai. Tidak menggunakan routing key.

    • x-delayed-message: Atur header x-delay pada pesan untuk menentukan penundaan dalam milidetik. Setelah periode x-delay berakhir, pesan diarahkan berdasarkan tipe routing exchange yang ditentukan dalam x-delayed-type.

    • x-consistent-hash: Melakukan penghashan terhadap nilai routing key atau header dan menggunakan consistent hashing untuk mendistribusikan pesan ke berbagai queue.

    x-delayed-type

    Diperlukan saat Type bernilai x-delayed-message. Menentukan tipe routing untuk exchange tersebut.

    Hash value

    Diperlukan saat Type bernilai x-consistent-hash. Menentukan tipe input untuk perhitungan hash. Nilai yang valid:

    • Routing Key

    • Header Value: Jika dipilih, Anda juga harus menentukan parameter hash-header.

    hash-header

    Diperlukan saat Type bernilai x-consistent-hash dan Hash value bernilai Header Value. Kunci header yang digunakan sebagai input untuk perhitungan hash.

    Internal

    Apakah exchange tersebut internal. Default: No. Nilai yang valid:

    • Yes: Exchange bersifat internal dan hanya digunakan untuk binding antar-exchange.

    • No: Exchange tidak bersifat internal dan digunakan untuk binding exchange ke queue.

Lihat statistik

Anda dapat melihat berbagai metrik untuk mengidentifikasi dan menemukan masalah sedini mungkin.

  1. Pada halaman Exchanges, temukan exchange target dan klik Details di kolom Actions.

  2. Pada halaman Exchange Details, klik tab Monitoring and Alerting atau Dashboard.

    Statistik yang tersedia bergantung pada edisi instans:

    • Edisi Perusahaan dan Edisi Platinum Perusahaan: 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.

    • Edisi Standar dan Edisi Profesional: Anda dapat melihat data pemantauan yang disediakan oleh CloudMonitor. Untuk informasi tentang metrik yang disediakan oleh CloudMonitor, lihat Monitoring and alerting.

      Catatan

      ApsaraMQ for RabbitMQ tidak lagi memungkinkan pembelian instans Edisi Standar. Anda dapat terus menggunakan instans Edisi Standar yang sudah ada.

Bind exchange ke queue

Bind exchange ke queue agar pesan dapat diarahkan ke queue tersebut.

  1. Pada halaman Exchanges, temukan exchange target dan klik Bound as Source di kolom Actions.

  2. Pada halaman Exchange Details, klik tab Bound as Source, lalu klik Add Binding.

  3. Di panel Add Binding, atur Type of Destination to Bind menjadi Queue, pilih queue untuk Destination to Bind, atur Routing Key, lalu klik OK.

    Catatan
    • Untuk exchange x-consistent-hash, Routing Key merepresentasikan bobot queue dan harus berupa bilangan bulat dari 1 hingga 20.

    • Jika terdapat binding duplikat, hanya binding valid pertama yang berlaku.

    • Untuk mengubah bobot queue yang terikat, hapus binding yang ada dan tambahkan binding baru.

    Add binding

Bind exchange ke exchange lain

Bind exchange ke exchange lain sebagai tujuannya. Pesan diteruskan dari sumber ke tujuan berdasarkan aturan routing.

  1. Pada halaman Exchanges, temukan exchange target dan klik Bound as Source di kolom Actions.

  2. Pada halaman Exchange Details, klik tab Bound as Source, lalu klik Add Binding.

  3. Di panel Add Binding, atur Type of Destination to Bind menjadi Exchange, pilih exchange untuk Destination to Bind, atur Routing Key, lalu klik OK.

    Add exchange binding

Bind exchange sebagai tujuan

Bind exchange sumber ke exchange saat ini sehingga exchange ini menjadi tujuan. Pesan diteruskan dari sumber berdasarkan aturan routing.

  1. Pada halaman Exchanges, temukan exchange target dan klik Details di kolom Actions.

  2. Pada halaman Exchange Details, klik tab Bound as Destination, lalu klik Add Binding.

  3. Di panel Add Binding, pilih Source Exchange dan masukkan routing key di kotak teks Routing Key. Type of Destination to Bind secara default bernilai Exchange, dan Destination Exchange secara default adalah exchange ini. Klik OK.

    Add bound exchange

Kirim pesan

Setelah membuat binding, Anda dapat mengirim pesan uji dari konsol. Pesan akan diarahkan ke queue atau exchange tujuan yang terikat.

  1. Pada halaman Exchanges, temukan exchange target dan klik Details di kolom Actions.

  2. Pada halaman Exchange Details, klik tab Bound as Source atau Bound as Destination.

  3. Dalam daftar binding, temukan binding target dan klik Send Message di kolom Actions.

  4. Di panel Send Message yang muncul, masukkan Message ID dan Message Body, lalu klik OK.

Hapus exchange

Peringatan
  • Menghapus exchange bersifat ireversibel. Produsen tidak dapat lagi mengirim pesan ke exchange tersebut, dan seluruh proses routing akan berhenti.

  • Anda tidak dapat menghapus exchange bertipe headers.

  • Anda tidak dapat menghapus tiga exchange bawaan dalam vhost: amq.direct, amq.topic, dan amq.fanout.

  1. Pada halaman Exchanges, klik nama exchange yang ingin Anda hapus. Pada halaman Exchange Details, klik Delete di pojok kanan atas.

  2. Di kotak dialog Confirmation, baca pesan tersebut dan klik OK.

Topik terkait

Exchanges