Buat resource ApsaraMQ for RabbitMQ yang dibutuhkan aplikasi Anda: instance, vhost, exchange, queue, dan binding.
Hierarki resource
Instance
└── Vhost (isolasi logis)
├── Exchange (mengarahkan pesan)
└── Queue (menyimpan pesan)
└── Binding (menghubungkan exchange ke queue)
|
Resource |
Peran |
|
Instance |
Kontainer tingkat teratas untuk semua resource lainnya. |
|
Vhost |
Mengisolasi exchange, queue, dan binding. Satu instance dapat menampung beberapa vhost. |
|
Exchange |
Menerima pesan dari produsen dan mengarahkannya ke queue berdasarkan routing key. |
|
Queue |
Menyimpan pesan hingga konsumen mengambilnya. |
|
Binding |
Menghubungkan exchange ke queue menggunakan routing key. |
Alur data: Produsen > Exchange > (routing key + binding) > Queue > Konsumen
Prasyarat
Jika Anda menggunakan pengguna Resource Access Management (RAM), berikan izin yang diperlukan. Langkah 1: (Opsional) Memberikan izin kepada pengguna RAM
Jika Anda menggunakan pengguna RAM untuk membuat instance ApsaraMQ for RabbitMQ, Anda harus memilih minimal dua vSwitch saat mengonfigurasi jaringan. Jika jumlah vSwitch yang dipilih kurang dari dua, pembuatan instance akan gagal.
Langkah 1: Membuat instance
-
Masuk ke Konsol ApsaraMQ for RabbitMQ. Di panel navigasi kiri, klik Instances.
-
Di bilah navigasi atas, pilih wilayah. Pada halaman Instances, klik Create Instance.
-
Pada halaman pembelian, konfigurasikan pengaturan instance, terima syarat layanan, lalu klik Buy Now.
-
Selesaikan pembayaran.
Setelah pembayaran selesai, kembali ke halaman Instances dan pilih wilayah Anda untuk melihat instance tersebut.
Langkah 2: Membuat vhost
Vhost mengisolasi resource. Tentukan vhost sebelum menghubungkan produsen atau konsumen.
-
Pada halaman Instances, klik nama instance Anda.
-
Di panel navigasi kiri, klik Vhosts.
-
Pada halaman Vhosts, klik Create Vhost.
-
Pada panel Create Vhost, masukkan nama di bidang vhost Name lalu klik OK.
Langkah 3: Membuat exchange
Exchange mengarahkan pesan dari produsen ke queue berdasarkan routing key. Exchange
-
Di panel navigasi kiri, klik Exchanges.
-
Pada halaman Exchanges, perluas daftar drop-down vhost, pilih vhost target dari Change, lalu klik Create Exchange.
-
Pada panel Create Exchange, konfigurasikan parameter berikut lalu klik OK.
Parameter exchange
|
Parameter |
Wajib |
Deskripsi |
|
Exchange Name |
Ya |
1. The Exchange name supports only letters, digits, hyphens (-), underscores (_), periods (.), pound signs (#), slashes (/), at signs (@), colons (:), commas (,), spaces ( ), and greater-than signs (>). Length: 1–255 characters. Nama yang diawali dengan |
|
Type |
Ya |
Jenis exchange. |
|
Internal |
Tidak |
Apakah exchange bersifat internal. Default: No. Atur ke Yes untuk mengikat exchange ini ke exchange lain alih-alih ke queue. |
Parameter berikut hanya muncul untuk jenis exchange tertentu:
|
Parameter |
Kapan Mengonfigurasi |
Deskripsi |
|
x-delayed-type |
Type = |
Aturan routing untuk exchange pesan tertunda. |
|
Hash value |
Type = |
Input untuk perhitungan hash. Nilai yang valid: RoutingKey, Header Value. |
|
hash-header |
Type = |
Header yang digunakan sebagai input untuk perhitungan hash. |
Jenis exchange
|
Jenis |
Logika routing |
Deskripsi |
|
direct |
Pencocokan eksak |
Mengarahkan pesan ke queue yang routing key-nya persis sesuai dengan routing key pesan. |
|
topic |
Pencocokan pola |
Mengarahkan pesan ke queue yang binding key-nya sesuai dengan routing key pesan berdasarkan pola. |
|
fanout |
Penyiaran |
Mengarahkan pesan ke semua queue yang terikat, mengabaikan routing key. |
|
headers |
Pencocokan header |
Mengarahkan pesan dengan mencocokkan pasangan kunci-nilai header terhadap atribut binding alih-alih routing key. |
|
x-delayed-message |
Pengiriman tertunda |
Menunda pengiriman pesan selama durasi yang ditentukan dalam atribut header |
|
x-consistent-hash |
Penghashan konsisten |
Memproses routing key atau nilai header melalui penghashan dan menggunakan penghashan konsisten untuk mendistribusikan pesan ke berbagai queue. |
Langkah 4: Membuat queue
Queue menyimpan pesan hingga konsumen mengambilnya.
-
Di panel navigasi kiri, klik Queues.
-
Pada halaman Queues, perluas daftar drop-down vhost, pilih vhost target dari Change, lalu klik Create Queue.
-
Pada panel Create Queue, konfigurasikan parameter berikut lalu klik OK.
Parameter antrean
|
Parameter |
Wajib |
Deskripsi |
|
Queue Name |
Ya |
Nama queue. |
|
Auto Delete |
Tidak |
Secara otomatis menghapus queue ketika konsumen terakhir berhenti berlangganan. Default: No. |
Klik Dead-letter Policy untuk mengonfigurasi parameter opsional:
|
Parameter |
Deskripsi |
|
DeadLetterExchange |
Exchange tempat pesan dead-letter dikirimkan. |
|
DeadLetterRoutingKey |
Routing key untuk pesan dead-letter. |
|
MessageTTL |
Waktu hidup (TTL) pesan dalam milidetik. Pesan yang tidak dikonsumsi akan menjadi dead-letter setelah TTL habis. Message TTL |
Aturan penamaan queue
-
1. The queue name supports only letters, digits, hyphens (-), underscores (_), periods (.), pound signs (#), slashes (/), at signs (@), colons (:), commas (,), spaces ( ), and greater-than signs (>). Length: 1–255 characters.
-
Panjang: 1 hingga 255 karakter.
-
Nama tidak dapat diubah setelah dibuat. Hapus dan buat ulang untuk mengganti nama.
-
amq.adalah awalan yang terbatas. Misalnya,amq.testtidak diizinkan.
Langkah 5: Membuat binding
Binding menghubungkan exchange ke queue agar pesan dapat mencapai queue tersebut.
-
Pada halaman Queues, temukan queue Anda lalu klik Details di kolom Actions.
-
Pada halaman Queue Details, klik tab Bound as Destination. Lalu, klik Add Binding.
-
Pada panel Add Binding, konfigurasikan parameter Source Exchange dan Routing Key. Lalu, klik OK.
Jika exchange sumber bertipe x-consistent-hash, routing key merepresentasikan bobot queue. Bobot harus berupa bilangan bulat antara 1 hingga 20.
Langkah berikutnya
Referensi
Anda juga dapat membuat resource dengan memanggil operasi API:
-
CreateInstance: Membuat instance.
-
ListInstances: Mendapatkan titik akhir instance.
-
CreateVirtualHost: Membuat vhost.
-
CreateExchange: Membuat exchange.
-
CreateQueue: Membuat queue.
-
CreateBinding: Membuat binding.
-
CreateAccount: Membuat username dan password statis untuk instance.
FAQ
Apa yang harus saya lakukan jika gagal membuat instance ApsaraMQ for RabbitMQ?
Coba langkah troubleshooting berikut:
-
Periksa pengaturan security group VPC: Pastikan security group di VPC Anda dikonfigurasi dengan benar. Pastikan aturan inbound mengizinkan traffic pada port 5672 (AMQP) dan port 5671 (AMQPS).
-
Dapatkan informasi error detail: Buka developer tools browser Anda (tekan F12) dan periksa tab Network untuk melihat respons API guna mengidentifikasi kode error atau pesan spesifik yang dikembalikan oleh server.
-
Izin pengguna RAM dan persyaratan vSwitch: Jika Anda menggunakan pengguna RAM, pastikan izin yang diperlukan telah diberikan. Saat membuat instance, pastikan Anda memilih minimal dua vSwitch. Memilih kurang dari dua vSwitch menyebabkan pembuatan instance gagal.