ApsaraMQ for RocketMQ memberlakukan batasan pada kuota sumber daya, tipe instans, dan parameter terkait. Pastikan Anda tidak melebihi batas yang berlaku agar aplikasi tidak mengalami error.
Batas parameter
Batas parameter berikut bersifat tetap. Patuhi spesifikasi ini untuk mencegah error akibat karakter tidak valid atau panjang berlebihan.
Parameter | Nilai | Deskripsi |
Nama instans |
| Tidak ada. |
Nama topik |
Jangan gunakan karakter, awalan, atau akhiran khusus berikut untuk nama topik. | Gunakan karakter pendek dan umum untuk nama topik serta hindari karakter khusus yang dapat menyebabkan error parsing. Nama yang terlalu panjang dapat menyebabkan operasi pesan ditolak. |
Nama LiteTopic |
| Gunakan karakter pendek dan umum untuk nama LiteTopic serta hindari karakter khusus yang dapat menyebabkan error parsing. Nama yang terlalu panjang dapat menyebabkan operasi pesan ditolak. |
Waktu hidup (TTL) LiteTopic |
| Jika tidak ada pesan yang ditulis ke LiteTopic selama periode TTL yang ditentukan, LiteTopic akan kedaluwarsa dan dihapus secara otomatis. Nilai -1 berarti LiteTopic tidak pernah kedaluwarsa. Anda hanya dapat mengatur parameter ini ketika tipe pesan adalah Lite. |
Nama kelompok konsumen |
Jangan gunakan karakter atau awalan khusus berikut untuk nama kelompok konsumen. | Tidak ada. |
Keterangan Instance |
| Tidak ada. |
Keterangan topik | ||
Keterangan kelompok konsumen | ||
Kredensial ACL |
| Tidak ada. |
Timeout permintaan |
| Timeout permintaan menentukan berapa lama klien menunggu hingga panggilan sinkron selesai. Tetapkan nilai yang sesuai dengan aplikasi Anda untuk menghindari pemblokiran thread yang berkepanjangan. |
Ukuran pesan | Maksimum: 4 MB. Batas ini hanya berlaku untuk isi pesan dan tidak termasuk kompresi. | Anda dapat mengompresi pesan dan mengontrol ukuran muatan untuk menghindari transfer file besar. Jika pesan melebihi batas ukuran, Anda dapat membagi pesan tersebut atau menggunakan OSS dan mentransfer URL pesan sebagai gantinya. |
Properti pesan kustom |
Jangan gunakan kunci properti yang dicadangkan berikut sebagai kunci properti kustom. | Tidak ada. |
MessageGroup |
| MessageGroup adalah pengenal grup untuk pesan terurut. Biasanya diatur ke pengenal untuk sekelompok pesan yang harus diproses secara berurutan, seperti ID pesanan atau ID pengguna. |
Upaya pengiriman ulang pesan |
| SDK klien secara otomatis menangani upaya pengiriman ulang pesan berdasarkan kebijakan bawaan yang tidak terlihat oleh aplikasi Anda. Jangan atur nilai ini terlalu tinggi untuk menghindari pemblokiran thread bisnis. Jika pesan masih gagal setelah mencapai jumlah maksimum upaya pengiriman ulang, Anda harus menerapkan mekanisme fallback di aplikasi untuk memastikan keandalan. |
Upaya konsumsi ulang pesan |
| Anda dapat mengatur nilai yang sesuai sesuai kebutuhan. Hindari menggunakan upaya ulang yang menyebabkan loop tak terbatas. Jumlah upaya ulang yang berlebihan dapat meningkatkan tekanan sistem secara signifikan. |
Interval pemeriksaan resolusi transaksi |
| Interval ini menentukan seberapa sering klien produsen memeriksa status pesan setengah-transaksional yang tidak dikomit karena pengecualian atau restart. Hindari mengatur interval ini terlalu singkat karena pemeriksaan yang terlalu sering dapat menurunkan kinerja sistem. |
Waktu pemeriksaan pertama untuk pesan setengah-transaksional |
| Tidak ada. |
Timeout maksimum untuk pesan setengah-transaksional |
| Jika pesan setengah-transaksional tidak dikomit karena restart sistem atau pengecualian, klien produsen memeriksa statusnya pada interval pemeriksaan resolusi transaksi yang ditentukan. Jika tidak ada hasil yang dikembalikan setelah periode timeout maksimum, pesan setengah-transaksional tersebut akan diputar balik secara paksa. Anda dapat memantau metrik ini untuk menghindari pengecualian transaksi. |
Penundaan maksimum untuk pesan terjadwal |
| Anda dapat mengatur penundaan untuk pesan terjadwal dalam interval per jam. Hindari penundaan yang terlalu lama. |
Timeout konsumsi PushConsumer |
| Timeout konsumsi PushConsumer dikendalikan oleh server ApsaraMQ for RocketMQ. Jika konsumen tidak memproses pesan dalam batas waktu ini, sistem akan menandai upaya konsumsi sebagai gagal dan memicu upaya ulang. Hal ini dapat menyebabkan sejumlah kecil pesan duplikat. |
Cache lokal PushConsumer |
| Saat tipe konsumen adalah PushConsumer, SDK klien menyimpan beberapa pesan secara lokal untuk meningkatkan throughput dan kinerja konsumen. Jumlah dan ukuran pesan yang di-cache harus berada dalam batas memori sistem. |
Interval upaya ulang PushConsumer |
| Tidak ada. |
Konkurensi konsumsi PushConsumer |
| Tidak ada. |
Ukuran batch maksimum untuk pengambilan pesan |
| Parameter ini menentukan jumlah maksimum pesan yang dapat diambil konsumen dari server sekaligus. Anda dapat mengatur nilai yang sesuai sesuai kebutuhan. Mengambil terlalu banyak pesan sekaligus dapat menyebabkan banyak pesan duplikat jika konsumsi gagal. |
Durasi tak terlihat maksimum SimpleConsumer |
| Atur durasi ini sedikit lebih lama dari waktu pemrosesan pesan yang Anda perkirakan, termasuk interval upaya ulang potensial. |
Timeout polling panjang konsumen | Rentang nilai: Minimum: 5 detik. Maksimum: 20 detik. Anda dapat mengkustomisasi nilai ini dalam rentang yang ditentukan. | Dengan polling panjang, jika tidak ada pesan yang tersedia di server, permintaan klien akan tetap terbuka hingga pesan tiba atau timeout berakhir. Metode ini mengurangi permintaan polling kosong dan menurunkan beban pada klien dan server, terutama saat volume pesan rendah. |
Langganan | Batas panjang ekspresi filter: 4.000 karakter (termasuk filter TAG dan SQL). | Untuk informasi lebih lanjut tentang langganan, lihat Langganan. |
Kuota sumber daya
ApsaraMQ for RocketMQ membatasi metrik seperti permintaan per detik (QPS) dan konkurensi untuk memastikan stabilitas produksi. Kuota ini cukup untuk sebagian besar skenario. Jika kuota ini tidak memenuhi kebutuhan bisnis Anda, hubungi dukungan teknis ApsaraMQ for RocketMQ untuk bantuan.
Batas | Nilai | Deskripsi | |
Instans berlangganan dan pay-as-you-go | Instans serverless | ||
Jumlah instans per wilayah | Maksimal 1.000 instans semua tipe. | Tidak ada. | |
TPS pengiriman dan penerimaan pesan per instans | Ditentukan oleh tipe instans yang dibeli. Untuk batas spesifik, lihat Batas tipe instans. | Skalabilitas otomatis | TPS pengiriman dan penerimaan pesan mencerminkan kinerja pemrosesan instans. Jika TPS aktual melebihi batas tipe instans, instans akan mengalami pembatasan kecepatan. Segera tingkatkan tipe instans. |
Periode retensi pesan |
|
| Perpanjang periode retensi pesan selama biaya penyimpanan Anda memungkinkan. Periode yang lebih lama memberikan lebih banyak waktu untuk troubleshooting dan replay pesan. |
Jumlah pesan inflight per kelompok konsumen | Maksimum: 2.500. | Maksimum: 2.500. | Jumlah pesan inflight yang berlebihan dalam kelompok konsumen dapat memperlambat respons konsumen. Pantau metrik ini dan segera atasi penyebabnya. |
Jumlah LiteTopic yang dapat dilanggankan satu konsumen | Maksimum: 2.000. | Maksimum: 2.000. | Berlangganan terlalu banyak LiteTopic pada satu konsumen dapat menurunkan kinerja klien. Untuk meminta peningkatan batas ini, kirim tiket. |
TPS konsumsi maksimum untuk setiap LiteTopic | 200 | 200 | Anda dapat membuat ratusan ribu hingga jutaan LiteTopic di bawah satu topik. TPS konsumsi total topik tidak terpengaruh. |
Batasan
Message Queue for RocketMQ, platform layanan (PaaS) yang sepenuhnya dikelola, membatasi operasi dan fitur berisiko tinggi tertentu yang tersedia di Apache RocketMQ open-source demi stabilitas sistem. Jika Anda memiliki kebutuhan khusus, hubungi dukungan teknis Message Queue for RocketMQ.
Batasan | Deskripsi |
Kompatibilitas dengan alat Admin Apache RocketMQ | Message Queue for RocketMQ tidak mendukung API Admin Apache RocketMQ atau command-line interface (CLI) untuk mengelola instans, topik, atau grup. Jika Anda perlu mengelola sumber daya secara terprogram, gunakan Alibaba Cloud OpenAPI, yang menyediakan SDK multi-bahasa dan dukungan CLI. |
Pesan Request-Reply Apache RocketMQ | Message Queue for RocketMQ tidak mendukung pengiriman pesan Request-Reply Apache RocketMQ. |
Komponen Streaming Apache RocketMQ | Message Queue for RocketMQ tidak menyediakan komponen Streaming Apache RocketMQ yang dikelola. Anda dapat menerapkan komponen ini sendiri di lingkungan Alibaba Cloud atau menggunakan fitur integrasi data Message Queue for RocketMQ untuk integrasi dan komputasi data ringan. |
Komponen MQTT Apache RocketMQ | Message Queue for RocketMQ tidak menyediakan komponen MQTT Apache RocketMQ yang dikelola. Kami merekomendasikan menggunakan layanan Alibaba Cloud ApsaraMQ for MQTT, yang memiliki lebih banyak fitur. |
Komponen EventBridge Apache RocketMQ | Message Queue for RocketMQ tidak menyediakan komponen EventBridge Apache RocketMQ yang dikelola. Kami merekomendasikan menggunakan layanan Alibaba Cloud EventBridge, yang memiliki lebih banyak fitur. |
Komponen Connector Apache RocketMQ | Message Queue for RocketMQ tidak menyediakan komponen Connector Apache RocketMQ yang dikelola. Anda dapat menggunakan fitur integrasi data Message Queue for RocketMQ untuk input dan output data. |
Batas tipe instans
Instans Edisi Standar, Edisi Node Tunggal, dan Edisi Profesional tidak mendukung TPS elastis. Rencanakan penggunaan sumber daya Anda terlebih dahulu untuk mencegah pembatasan kecepatan instans jika lonjakan lalu lintas tiba-tiba melebihi batas spesifikasi Anda.
Kuota topik dan grup per instans cukup untuk sebagian besar kasus penggunaan produksi skala besar. Sebagai praktik terbaik, isolasi layanan bisnis Anda di instans berbeda berdasarkan departemen atau domain. Praktik ini meningkatkan stabilitas dan manajemen sumber daya.
Spesifikasi TPS pesan didasarkan pada jumlah total pesan normal yang dikirim dan diterima, menggunakan ukuran pesan standar 4 KB sebagai patokan. Pengali berlaku saat Anda menggunakan fitur pesan lanjutan atau mengirim pesan besar. Untuk detail cara perhitungan TPS, lihat Spesifikasi perhitungan.
Jika TPS aktual untuk pengiriman dan penerimaan pesan melebihi batas atas tipe instans yang Anda beli:
Jika TPS elastis diaktifkan, instans Anda dapat beroperasi secara normal selama TPS berada dalam rentang elastis yang disediakan. Penggunaan yang melebihi spesifikasi dasar ditagih berdasarkan pay-as-you-go. Jika TPS melebihi kapasitas elastis maksimum, instans akan mengalami pembatasan kecepatan.
Untuk informasi lebih lanjut tentang penagihan TPS elastis untuk instans non-Serverless, lihat Biaya TPS elastis. Untuk informasi lebih lanjut tentang penagihan TPS elastis untuk instans Serverless, lihat Biaya TPS elastis Serverless.
Jika instans Anda tidak mendukung TPS elastis atau fitur tersebut tidak diaktifkan, Message Queue for RocketMQ akan membatasi kecepatan instans.
PentingSaat pembatasan kecepatan dipicu, server segera mengembalikan tanggapan kegagalan untuk permintaan pengiriman baru. Permintaan tidak dimasukkan ke antrean atau di-buffer — langsung gagal.
Jika aplikasi klien tidak memiliki mekanisme upaya ulang yang dikonfigurasi, pesan apa pun yang menerima tanggapan kegagalan akibat pembatasan kecepatan akan hilang. Untuk memastikan keandalan pesan, konfigurasikan strategi upaya ulang pengiriman di sisi klien untuk menangani pembatasan kecepatan sementara. Jika Anda menggunakan SDK ApsaraMQ for RocketMQ, aktifkan kebijakan upaya ulang bawaan dan atur jumlah maksimum upaya ulang yang sesuai.
Jumlah koneksi klien yang berlebihan ke instans Message Queue for RocketMQ mengonsumsi sumber daya server yang signifikan dan dapat sangat memengaruhi stabilitas. Oleh karena itu, pastikan jumlah koneksi klien tidak melebihi batas tipe instans Anda.
Instans seri Serverless
Jumlah klien online konkuren: Jumlah total produsen dan konsumen online. Masing-masing dihitung sebagai satu klien.
Jumlah sumber daya: Jumlah total topik dan kelompok konsumen.
Arsitektur penyebaran | Mode kapasitas | Rentang TPS | Maksimum klien konkuren | Kuota klien gratis | Jumlah sumber daya maks | Kuota sumber daya gratis | Maks LiteTopics |
Bersama | Penggunaan kumulatif | Semua | 5.000 | 500 | 3.000 | 100 | / |
Reserved + Elastis | [2.000, 20.000] | 5.000 | 1.000 | 3.000 | 200 | ||
(20.000, 50.000] | 8.000 | 2.000 | 3.000 | 200 | |||
(50.000, 100.000] | 10.000 | 3.000 | 3.000 | 200 | |||
(100.000, 200.000] | 20.000 | 5.000 | 3.000 | 200 | |||
Khusus | Reserved + Elastis | 5.000 | 3.000 | 2.000 | 3.000 | 300 | 300.000 |
10.000 | 6.000 | 4.000 | 4.000 | 300 | 500.000 | ||
15.000 | 8.000 | 6.000 | 6.000 | 500 | 800.000 | ||
[20.000, 50.000] | 10.000 | 8.000 | 6.000 | 500 | 1.200.000 | ||
(50.000, 100.000] | 20.000 | 10.000 | 6.000 | 500 | 3.000.000 | ||
(100.000, 200.000] | 40.000 | 20.000 | 8.000 | 1.000 | 3.600.000 | ||
(200.000, 300.000] | 80.000 | 40.000 | 10.000 | 1.500 | 5.000.000 | ||
(300.000, 500.000] | 100.000 | 50.000 | 16.000 | 2.000 | 6.500.000 | ||
(500.000, 1.000.000] | 200.000 | 100.000 | 40.000 | 3.000 | 11.600.000 |
Instans non-Serverless (berlangganan dan pay-as-you-go)
Edisi standar
Sub-seri instans | Tipe instans | TPS dasar maks (ops/detik) | TPS burst maks (ops/detik) | Koneksi maks | Bandwidth Keluar (Mbps) | Kuota topik gratis | Kuota topik maks | Kelompok konsumen maks | Maks LiteTopics |
Edisi Node Tunggal (Tidak dijual lagi) | rmq.s1.micro | 500 | Tidak berlaku Tipe instans ini tidak mendukung elastisitas burst. | 2.000 | 1 hingga 1.000 Dapat dikustomisasi. | 100 | 100 | 1.000 | / |
Edisi Ketersediaan Tinggi Kluster | rmq.s2.2xlarge | 2.000 | 4.000 | 300 | 50.000 | ||||
rmq.s2.4xlarge | 4.000 | 4.000 | 150.000 | ||||||
rmq.s2.6xlarge | 6.000 | 6.000 | 500 | 300.000 |
Jika kuota topik dan kelompok konsumen untuk instans Edisi Standar tingkat atas (rmq.s2.6xlarge) tidak mencukupi kebutuhan bisnis Anda, tingkatkan ke Edisi Profesional dan pilih tipe instans yang sesuai.
Beberapa spesifikasi instans Edisi Standar awal (misalnya, rmq-cn-aic46utt204) tidak lagi tersedia untuk pembelian baru. Spesifikasi ini hanya mendukung pemeliharaan dan perpanjangan instans yang sudah ada. Jika Anda perlu membeli instans baru, pilih spesifikasi instans yang saat ini tersedia.
Edisi profesional
Sub-seri instans | Tipe instans | TPS dasar maks (ops/detik) | Maximum Burst TPS (operasi/detik) | Koneksi maks | Bandwidth keluar (Mbps) | Kuota topik gratis | Kuota topik maks | Kelompok konsumen maks | Maks LiteTopics |
Edisi Node Tunggal (Tidak dijual lagi) | rmq.p1.micro | 500 | Tidak berlaku Tipe instans ini tidak mendukung elastisitas burst. | 2.000 | 1 hingga 1.000 Dapat dikustomisasi. | 150 | 150 | 1.500 | / |
Edisi Ketersediaan Tinggi Kluster | rmq.p2.4xlarge | 4.000 | 2.000 | 4.000 | 500 | 2.000 | 150.000 | ||
rmq.p2.6xlarge | 6.000 | 3.000 | 6.000 | 300.000 | |||||
rmq.p2.10xlarge | 10.000 | 5.000 | 10.000 | 1.000 | 500.000 | ||||
rmq.p2.20xlarge | 20.000 | 10.000 | 10.000 | 800.000 | |||||
rmq.p2.30xlarge | 30.000 | 15.000 | 12.000 | 2.000 | 1.000.000 | ||||
rmq.p2.40xlarge | 40.000 | 20.000 | 12.000 | 1.200.000 | |||||
rmq.p2.50xlarge | 50.000 | 20.000 | 14.000 | 1.400.000 | |||||
rmq.p2.100xlarge | 100.000 | 30.000 | 26.000 | 2.200.000 | |||||
rmq.p2.120xlarge | 120.000 | 40.000 | 30.000 | 2.700.000 | |||||
rmq.p2.150xlarge | 150.000 | 50.000 | 38.000 | 3.300.000 | |||||
rmq.p2.200xlarge | 200.000 | 60.000 | 50.000 | 4.500.000 |
Jika kuota topik dan kelompok konsumen untuk instans Edisi Profesional rmq.p2.10xlarge atau lebih tinggi tidak mencukupi kebutuhan bisnis Anda, kirim tiket.
Edisi platinum
Sub-seri instans | Tipe instans | TPS dasar maks (ops/detik) | Maks burst TPS (ops/sec) | Koneksi maks | Bandwidth egress (Mbps) | Kuota topik gratis | Kuota topik maks | Kelompok konsumen maks | Maks LiteTopics |
Edisi Ketersediaan Tinggi Kluster | rmq.u2.10xlarge | 10.000 | 5.000 | 10.000 | 1 hingga 1.000 Dapat dikustomisasi. | 200 | 3.000 | 4.000 | 600.000 |
rmq.u2.20xlarge | 20.000 | 10.000 | 10.000 | 800.000 | |||||
rmq.u2.30xlarge | 30.000 | 15.000 | 12.000 | 1.000.000 | |||||
rmq.u2.40xlarge | 40.000 | 20.000 | 10.000 | 1.200.000 | |||||
rmq.u2.50xlarge | 50.000 | 20.000 | 14.000 | 1.400.000 | |||||
rmq.u2.60xlarge | 60.000 | 22.000 | 16.000 | 1.600.000 | |||||
rmq.u2.70xlarge | 70.000 | 24.000 | 18.000 | 1.700.000 | |||||
rmq.u2.80xlarge | 80.000 | 26.000 | 20.000 | 1.800.000 | |||||
rmq.u2.90xlarge | 90.000 | 28.000 | 24.000 | 2.000.000 | |||||
rmq.u2.100xlarge | 100.000 | 30.000 | 26.000 | 2.200.000 | |||||
rmq.u2.120xlarge | 120.000 | 40.000 | 30.000 | 2.700.000 | |||||
rmq.u2.150xlarge | 150.000 | 50.000 | 38.000 | 3.300.000 | |||||
rmq.u2.200xlarge | 200.000 | 60.000 | 50.000 | 4.500.000 | |||||
rmq.u2.250xlarge | 250.000 | 70.000 | 51.000 | 5.600.000 | |||||
rmq.u2.300xlarge | 300.000 | 80.000 | 52.000 | 6.300.000 | |||||
rmq.u2.350xlarge | 350.000 | 90.000 | 53.000 | 7.500.000 | |||||
rmq.u2.400xlarge | 400.000 | 100.000 | 54.000 | 9.300.000 | |||||
rmq.u2.450xlarge | 450.000 | 120.000 | 60.000 | 10.400.000 | |||||
rmq.u2.500xlarge | 500.000 | 140.000 | 66.000 | 11.600.000 | |||||
rmq.u2.550xlarge | 550.000 | 160.000 | 72.000 | 12.800.000 | |||||
rmq.u2.600xlarge | 600.000 | 200.000 | 80.000 | 14.000.000 | |||||
rmq.u2.1000xlarge | 1.000.000 | 300.000 | 134.000 | 23.200.000 |
Jika kuota topik dan kelompok konsumen untuk instans Edisi Platinum masih tidak mencukupi kebutuhan bisnis Anda, kirim tiket.