All Products
Search
Document Center

ApsaraMQ for RocketMQ:Model Domain

Last Updated:Aug 15, 2026

ApsaraMQ for RocketMQ adalah middleware perpesanan terdistribusi berbasis model publish-subscribe. Layanan ini menguraikan keterkaitan antara produsen dan konsumen melalui pengiriman pesan secara asinkron, sehingga cocok untuk penguraian keterkaitan asinkron dan penggeseran beban puncak dalam arsitektur terdistribusi.

Jika kasus penggunaan Anda memerlukan respons real-time melalui tautan sinkron, gunakan solusi Remote Procedure Call (RPC) sebagai gantinya. Pilih produk berdasarkan skenario bisnis dan kebutuhan utama Anda.

Alur pesan dalam sistem

Setiap pesan melewati tiga tahap: produksi, penyimpanan, dan konsumsi.

Domain model

  1. Seorang producer membuat pesan dan mengirimkannya ke server ApsaraMQ for RocketMQ.

  2. Server menyimpan pesan tersebut dalam sebuah topic. Di dalam topic tersebut, pesan ditambahkan ke sebuah queue secara berurutan.

  3. Seorang consumer, yang termasuk dalam sebuah consumer group, berlangganan ke topic tersebut dan memproses pesan tersebut.

Konsep utama

Produksi

Producer: Entitas waktu proses ringan dan anonim yang membuat serta mengirimkan pesan. Producer biasanya diintegrasikan ke hulu rantai panggilan bisnis.

Penyimpanan

Topic: Kontainer logis untuk transmisi dan penyimpanan pesan. Setiap topic berisi beberapa queue yang mendukung skalabilitas horizontal.

Lite topic (LiteTopic): Resource sekunder di bawah topic bertipe Lite. Setiap lite topic secara default berisi satu queue.

Queue (MessageQueue): Unit dasar penyimpanan dan transmisi pesan, mirip dengan partisi di Kafka. Setiap queue menggunakan struktur antrian tak hingga berbasis aliran, di mana pesan disimpan secara berurutan.

Message: Unit terkecil dalam transmisi data. Pesan bersifat immutable setelah diinisialisasi, dikirim, dan disimpan.

Konsumsi

Consumer group (ConsumerGroup): Pengelompokan logis yang mengelola beberapa consumer. Consumer group bersifat independen satu sama lain: setiap group menerima dan mengonsumsi seluruh set pesan dari topic yang dilanggannya, sehingga group tidak pernah bersaing atau berbagi pesan yang sama. Semua consumer dalam satu group menggunakan logika dan konfigurasi konsumsi yang sama, serta bekerja sama untuk memproses pesan dari topic yang dilanggani. Hal ini memungkinkan skalabilitas horizontal kapasitas konsumsi.

Consumer: Entitas waktu proses yang menerima dan memproses pesan. Consumer biasanya diintegrasikan ke hilir rantai panggilan bisnis. Setiap consumer harus termasuk dalam satu consumer group tertentu.

Subscription: Sekumpulan aturan pada tingkat consumer group yang mengatur penyaringan pesan, perilaku pengulangan, dan pemulihan progres konsumsi. Subscription bersifat persisten—tetap ada meskipun server dimulai ulang atau klien terputus. Pengecualian berlaku untuk ekspresi filter, yang tidak dipertahankan.

Komunikasi sinkron vs. asinkron

Layanan terdistribusi berkomunikasi melalui dua pola utama: RPC sinkron dan perpesanan asinkron. ApsaraMQ for RocketMQ menggunakan perpesanan asinkron.

RPC sinkron

Synchronous call

Dalam model RPC sinkron, pemanggil mengirim permintaan langsung ke penerima, dan penerima segera mengembalikan respons.

Penting

"Sinkron" di sini merujuk pada model komunikasi, bukan API pemrograman. Panggilan RPC dapat menggunakan gaya pemrograman asinkron non-blocking, tetapi modelnya tetap memerlukan respons langsung dari titik akhir target dalam periode tertentu.

Perpesanan asinkron

Asynchronous call

Dalam model asinkron, pemanggil mengubah permintaan menjadi pesan dan mengirimkannya ke middleware perpesanan. Pemanggilan selesai begitu pesan berhasil dikirim. Middleware kemudian mengirimkan pesan tersebut secara andal ke layanan hilir dan memastikan tugas terkait dieksekusi.

Manfaat

Cara kerjanya

Topologi berbentuk bintang

Layanan hulu dan hilir hanya terhubung ke middleware, sehingga menghasilkan topologi yang sederhana dan mudah dikelola.

Layanan longgar terikat

Layanan hulu dan hilir dapat ditingkatkan dan dimodifikasi secara independen. Middleware menangani buffering dan pemulihan asinkron.

Penggeseran beban puncak

Middleware umumnya memiliki kemampuan buffering dan shaping traffic yang kuat, sehingga mencegah lonjakan beban membebani layanan hilir.

Perpesanan point-to-point vs. publish-subscribe

Middleware perpesanan menggunakan salah satu dari dua model pengiriman. ApsaraMQ for RocketMQ menggunakan model publish-subscribe.

Fitur

Point-to-point

Publish-subscribe

Identitas konsumen

Anonim — konsumen berbagi satu queue tanpa identitas independen

Independen — setiap consumer group memiliki identitas sendiri

Pola pengiriman

Satu-ke-satu — konsumen bersaing untuk pesan, dan setiap pesan diproses oleh tepat satu konsumen

Satu-ke-banyak — setiap consumer group menerima salinan setiap pesan

Skalabilitas

Lebih sederhana untuk diimplementasikan

Lebih ekstensibel — mendukung banyak konsumen hilir independen

Model point-to-point

Point-to-point model

Dalam model point-to-point (juga disebut perpesanan berbasis queue), queue merupakan satu-satunya identifikasi komunikasi antara hulu dan hilir. Banyak konsumen bersaing untuk pesan dalam queue tersebut, dan setiap pesan hanya diproses oleh satu konsumen.

Model publish-subscribe

Publish-subscribe model

Dalam model publish-subscribe, setiap consumer group memiliki identitas independen. Pesan dalam topic yang sama dapat dikirimkan ke beberapa consumer group, dan setiap group menerima salinan lengkap semua pesan. Consumer group yang berbeda tidak saling memengaruhi satu sama lain.

Langkah berikutnya