All Products
Search
Document Center

ApsaraMQ for RabbitMQ:Perbandingan antara ApsaraMQ for RabbitMQ dan RabbitMQ open-source

Last Updated:May 29, 2026

ApsaraMQ for RabbitMQ adalah layanan messaging yang sepenuhnya dikelola (fully managed) berbasis arsitektur penyimpanan terdistribusi dengan ketersediaan tinggi. Layanan ini menerapkan protokol AMQP 0-9-1 dan kompatibel dengan klien RabbitMQ open-source. Dibandingkan dengan RabbitMQ open-source, ApsaraMQ for RabbitMQ mengatasi berbagai masalah stabilitas umum, seperti akumulasi pesan dan isu split-brain, serta menawarkan keunggulan layanan messaging cloud, termasuk konkurensi tinggi, penerapan terdistribusi, dan skalabilitas fleksibel.

Topik ini membandingkan ApsaraMQ for RabbitMQ dengan RabbitMQ open-source dari segi fitur, skalabilitas, keandalan, exchange, dan antrian.

Untuk daftar lengkap keunggulan, lihat Keunggulan.

Fitur

Feature

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Protocol

AMQP 0-9-1

AMQP 0-9-1, AMQP 1.0, STOMP, MQTT, HTTP(S), dan WebSocket

Client SDK

Semua SDK klien RabbitMQ open-source (bahasa apa pun, versi apa pun)

SDK open-source

Delayed messages

Presisi tingkat detik, kompatibel dengan Plugin x-delayed-message dan metode TTL. Lihat Pesan tertunda.

Memerlukan plug-in atau metode kedaluwarsa TTL dan transfer pesan

Transactional messages

Tidak didukung

Didukung

Ordered messages

Didukung. Lihat Konsumsi pesan terurut.

Didukung

Message priority

Hanya untuk instans spesifikasi khusus

Didukung

Message retry

Pengiriman ulang otomatis ketika pesan tidak diakui (acknowledged) dalam periode timeout. Lihat Kebijakan pengulangan.

Tidak ada mekanisme retry bawaan. Pesan yang tidak diakui akan memblokir antrian, yang dapat menyebabkan akumulasi dan gangguan layanan.

Authentication

Username dan password kustom, atau kredensial yang dihasilkan dari Pasangan Kunci Akses (AccessKey pair) di Resource Access Management (RAM). Lihat Username dan password statis dan Kredensial RAM.

Username dan password kustom

Access control

Model izin open-source dan otorisasi berbasis kebijakan RAM. Lihat Manajemen izin dan Kontrol akses RAM.

Model izin open-source

Observability

Capability

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Dashboard

Metrik bawaan pada level vhost, exchange, dan queue. Integrasi Prometheus dan Grafana telah dikonfigurasi sebelumnya. Lihat Dashboard.

Dua opsi: (1) Gunakan UI management untuk metrik, tetapi bangun sendiri lapisan penyimpanan dan visualisasi Anda. (2) Siapkan Prometheus dan Grafana secara manual.

Message tracing

Tampilan jejak berbasis konsol yang menampilkan siklus hidup pesan secara lengkap. Lakukan kueri berdasarkan antrian, ID pesan, atau waktu pemrosesan. Lihat Jejak pesan.

Data jejak ditulis ke file log di sisi server, sehingga proses kueri dan analisis akar masalah menjadi lambat.

Perintah AMQP

Tabel berikut membandingkan perilaku perintah AMQP BasicCancel antara ApsaraMQ for RabbitMQ dan RabbitMQ open-source.

Item

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

BasicCancel

Membatalkan langganan konsumen; pesan yang telah dikirimkan akan dimasukkan kembali ke antrian (requeued).

Membatalkan langganan konsumen; pesan yang telah dikirimkan tetap dalam status Unacked.

Perbedaan ini penting dalam troubleshooting pengiriman pesan setelah pembatalan konsumen. Di ApsaraMQ for RabbitMQ, requeuing setelah BasicCancel memungkinkan pesan yang belum diakui dikirim ulang ke konsumen lain. Di RabbitMQ open-source, pesan tersebut tetap dalam status unacknowledged hingga channel ditutup atau timeout berakhir.

Skalabilitas dan keandalan

Dimension

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Cluster throughput

Tidak memiliki batas atas tetap. Arsitektur terdistribusi tanpa master mendukung scale-out horizontal.

Dibatasi oleh kapasitas node tunggal. Scaling up memerlukan peningkatan perangkat keras.

Single-queue throughput

Tidak memiliki batas atas tetap. Setiap antrian melakukan scaling horizontal di seluruh node.

Dibatasi oleh node yang meng-host antrian tersebut.

Connections

Skala sesuai kluster. Menambahkan node meningkatkan kapasitas koneksi tanpa menurunkan performa.

Dibatasi oleh sumber daya mesin tunggal.

Delayed messages

Presisi tingkat detik, throughput tinggi, siap pakai.

Memerlukan pengaturan plug-in.

High availability

Penerapan multi-zona dengan pemisahan storage-compute. Node compute yang rusak dapat dengan cepat dihapus dan diisolasi. Data disimpan dalam bentuk triplikat.

Mengandalkan mirror queue atau quorum queue. Implementasi ini rentan terhadap isu split-brain.

Message accumulation

Menjaga performa stabil bahkan dengan backlog besar. Operasi normal kluster tidak terganggu.

Backlog besar mengonsumsi memori node dan dapat memicu kegagalan kehabisan memori (out-of-memory), sehingga mengganggu layanan.

Elastic scaling

Lakukan scale out atau scale in dengan menambah atau menghapus node kluster sesuai kebutuhan. Instans serverless ditagih berdasarkan volume pesan, sehingga menghilangkan kebutuhan perencanaan kapasitas di muka.

Kapasitas dibatasi oleh mesin terbesar dalam kluster. Scaling memerlukan peningkatan perangkat keras atau repartisi kluster.

Self-healing

Sistem inspeksi bawaan secara otomatis mendeteksi dan menyelesaikan deadlock serta kegagalan node.

Tidak ada self-healing otomatis. Diperlukan intervensi manual.

Exchanges

ApsaraMQ for RabbitMQ mendukung jenis dan properti exchange yang sama dengan RabbitMQ open-source.

Property

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Types

direct, fanout, headers, topic, x-delayed-message, x-consistent-hash

direct, fanout, headers, topic, x-delayed-message, x-consistent-hash

Persistence

Persistent dan non-persistent

Persistent dan non-persistent

Auto-delete

Didukung

Didukung

Internal

Didukung

Didukung

Alternate exchange

Didukung

Didukung

Consistent hash exchange

Didukung

Didukung

Antrian

ApsaraMQ for RabbitMQ menyembunyikan keputusan infrastruktur tingkat antrian. Semua antrian berjalan di atas kluster ketersediaan tinggi terdistribusi, sehingga tidak perlu memilih antara jenis antrian classic dan quorum atau mengonfigurasi replikasi secara manual.

Property

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

Queue type

Kluster HA terdistribusi (tidak perlu konfigurasi)

Pemilihan manual diperlukan: classic (mirror queue) atau quorum queue

Node assignment

Dikelola sepenuhnya, tidak perlu penugasan manual

Pemilihan node manual diperlukan

Retry policy

Pengiriman ulang otomatis saat terjadi timeout konsumsi. Lihat Kebijakan pengulangan.

Tidak ada pengiriman ulang berbasis timeout

Persistence

Persistent dan non-persistent

Persistent dan non-persistent

Max length / max length bytes / max in-memory length / max in-memory bytes

Tidak perlu konfigurasi. Mendukung akumulasi pesan besar tanpa tekanan memori.

Harus dikonfigurasi untuk mencegah kegagalan kehabisan memori akibat akumulasi tak terbatas.

Delivery limit

Nilai default 16 (statis). Lihat Kebijakan pengulangan.

Konfigurasi manual diperlukan

Dead-letter exchange

Didukung

Didukung

Dead-letter routing key

Didukung

Didukung

Single active consumer

Didukung. Lihat Konsumsi pesan terurut.

Didukung

Action

Tabel berikut membandingkan perilaku perintah AMQP BasicCancel antara ApsaraMQ for RabbitMQ dan RabbitMQ open-source.

Item

ApsaraMQ for RabbitMQ

Open-source RabbitMQ

BasicCancel

Membatalkan langganan konsumen; pesan yang telah dikirimkan akan dimasukkan kembali ke antrian (requeued).

Membatalkan langganan konsumen; pesan yang telah dikirimkan tetap dalam status Unacked.