Topik ini menjelaskan fungsi dan fitur ApsaraMQ for RocketMQ.
Informasi latar belakang
ApsaraMQ for RocketMQ menyediakan layanan berbasis pesan dengan ketersediaan tinggi di berbagai wilayah Alibaba Cloud. Untuk memastikan ketersediaan tinggi, beberapa pusat data ditempatkan dalam satu wilayah. Jika salah satu pusat data tidak tersedia, aplikasi tetap dapat mempublikasikan dan berlangganan pesan.
ApsaraMQ for RocketMQ mendukung akses berbasis TCP dan HTTP menggunakan SDK untuk berbagai bahasa pemrograman, sehingga aplikasi dalam berbagai bahasa pemrograman dapat dengan cepat terhubung ke ApsaraMQ for RocketMQ. Anda dapat menerapkan aplikasi pada instance Elastic Compute Service (ECS) milik Alibaba Cloud, cloud perusahaan Anda sendiri, atau menanamkannya di perangkat seluler atau perangkat IoT untuk terhubung ke ApsaraMQ for RocketMQ guna mengirim dan menerima pesan. Selain itu, pengembang lokal dapat mengakses ApsaraMQ for RocketMQ melalui Internet untuk mengirim dan menerima pesan.
Akses multi-protokol
TCP: Mode akses berbasis SDK TCP lebih spesialis, andal, dan stabil dibandingkan mode akses berbasis HTTP. ApsaraMQ for RocketMQ mendukung klien yang menggunakan bahasa pemrograman berikut melalui TCP: Java, C, C++, dan .NET.
HTTP: API RESTful digunakan untuk akses berbasis HTTP. Mode ini mudah digunakan dan memberikan kemampuan akses lintas jaringan yang kuat. ApsaraMQ for RocketMQ mendukung klien yang menggunakan bahasa pemrograman berikut melalui HTTP: Java, C++, .NET, Go, Python, Node.js, dan PHP.
Alat manajemen
Konsol web: Mendukung manajemen topik, manajemen grup, kueri pesan, kueri jejak pesan, serta pemantauan dan peringatan. Untuk informasi lebih lanjut, lihat Panduan Pengguna.
OpenAPI: Memungkinkan Anda mengintegrasikan alat manajemen ApsaraMQ for RocketMQ ke dalam konsol Anda. Untuk informasi lebih lanjut tentang operasi API yang disediakan oleh ApsaraMQ for RocketMQ, lihat Catatan Rilis.
Jenis pesan
Pesan Normal
Pesan normal adalah pesan yang tidak memiliki fitur khusus dalam ApsaraMQ for RocketMQ. Mereka berbeda dari pesan dengan fitur seperti pesan terjadwal, pesan tertunda, pesan terurut, dan pesan transaksional.
Pesan Terjadwal dan Tertunda
ApsaraMQ for RocketMQ memungkinkan produsen untuk mengirimkan pesan pada waktu tertentu atau setelah periode tertentu. Waktu maksimumnya adalah 40 hari.
Pesan Terurut
ApsaraMQ for RocketMQ memungkinkan konsumen untuk mengonsumsi pesan sesuai urutan pengiriman pesan tersebut.
Pesan Transaksional
ApsaraMQ for RocketMQ menyediakan fitur transaksi terdistribusi mirip X/Open XA untuk memastikan konsistensi akhir transaksi terdistribusi.
Tabel 1. Perbandingan Antar Jenis Pesan
Jenis pesan | Dukungan untuk transmisi sinkron yang andal | Dukungan untuk transmisi asinkron yang andal | Dukungan untuk transmisi satu arah | Dukungan untuk transmisi multi-thread | Kinerja |
Pesan normal | Ya | Ya | Ya | Ya | Tertinggi |
Pesan transaksional | |||||
Pesan terjadwal dan tertunda | |||||
Pesan terurut sebagian | Ya | Tidak | Tidak | Tidak | Tinggi |
Fungsi pesan
Percobaan Ulang Pesan: Setelah konsumen mengembalikan respons untuk percobaan ulang pesan, ApsaraMQ for RocketMQ mengirim ulang pesan berdasarkan aturan percobaan ulang yang ditentukan. Untuk informasi lebih lanjut, lihat Percobaan Ulang Pesan.
Pengiriman Setidaknya Sekali: ApsaraMQ for RocketMQ memastikan bahwa setiap pesan dikonsumsi setidaknya sekali. Konsumen mungkin menerima pesan yang sama beberapa kali karena ApsaraMQ for RocketMQ dikembangkan berdasarkan arsitektur terdistribusi dan menggunakan jaringan dinamis. Jika konsumen memulai ulang aplikasi mereka, mereka mungkin menerima pesan yang sama beberapa kali. Aplikasi harus memproses pesan yang sama beberapa kali tanpa menyebabkan kesalahan atau inkonsistensi data. Untuk informasi tentang praktik terbaik untuk idempotensi pesan, lihat Idempotensi Pesan.
Penyaringan Pesan: ApsaraMQ for RocketMQ memungkinkan Anda mengonfigurasi atribut pesan untuk mengklasifikasikan pesan yang dikirim produsen ke topik pada broker ApsaraMQ for RocketMQ. Anda dapat mengonfigurasi kondisi filter untuk konsumen sehingga konsumen dapat berlangganan pesan yang memiliki atribut tertentu dalam topik. Kemudian, broker menyaring pesan yang dikirim oleh produsen dan hanya mengirimkan pesan yang memenuhi kondisi tertentu kepada konsumen.
Fitur pesan
Kueri Pesan: ApsaraMQ for RocketMQ memungkinkan Anda menanyakan pesan berdasarkan ID pesan, kunci pesan, dan topik.
Kueri Jejak Pesan: Jejak pesan mencatat informasi rute tentang pesan yang dikirim dari produsen ke broker ApsaraMQ for RocketMQ, lalu ke konsumen. Jejak pesan dapat membantu Anda menyelesaikan masalah.
Konsumsi Klustering dan Konsumsi Siaran: Dalam mode konsumsi klustering, pesan hanya perlu diproses oleh salah satu konsumen dalam kluster. Dalam mode konsumsi siaran, ApsaraMQ for RocketMQ mendorong setiap pesan ke semua konsumen terdaftar dalam kluster untuk memastikan bahwa semua pesan dikonsumsi oleh setiap konsumen setidaknya sekali.
Reset Offset Konsumen: Anda dapat mengubah offset ke pesan terbaru untuk melewati pesan yang telah terakumulasi untuk konsumen. Anda juga dapat mengubah offset ke offset yang sesuai dengan titik waktu sebelumnya untuk konsumen. Konsumsi dimulai dari offset yang Anda tentukan.
Antrian Pesan Gagal: Pesan yang tidak dapat dikonsumsi sesuai harapan disimpan dalam antrian khusus yang disebut antrian pesan gagal untuk pemrosesan selanjutnya.
Dasbor: Fitur dasbor menyediakan metrik statistik yang kaya, komprehensif, dan multidimensi. Anda dapat melihat metrik terkait produksi pesan, konsumsi, dan akumulasi berdasarkan instans, topik, dan grup.
Pemantauan dan Peringatan: Anda dapat menggunakan fitur pemantauan dan peringatan ApsaraMQ for RocketMQ untuk memantau status konsumsi pesan dari topik yang disubskripsi oleh grup dan menerima pesan peringatan. Dengan cara ini, Anda dapat memantau status konsumsi pesan secara real-time dan menyelesaikan kesalahan tepat waktu.