ApsaraMQ for MQTT menerapkan batasan berikut pada instans, topik, klien, dan pengiriman pesan. Melebihi batasan ini dapat menyebabkan pengecualian aplikasi seperti pemutusan koneksi atau kehilangan pesan.
Jika Anda membeli instans ApsaraMQ for MQTT Edisi Platinum, Anda dapat menyesuaikan beberapa metriknya. Metrik yang dapat disesuaikan ditandai dalam tabel di bawah ini. Untuk mengajukan permintaan penyesuaian, hubungi dukungan teknis ApsaraMQ for MQTT di grup DingTalk 116015007918.
Batasan instans
|
Batasan |
Batas |
Deskripsi |
|
Nama instans |
|
Anda tidak dapat menentukan nama kustom saat membuat instans. Secara default, nama instans sama dengan ID instans-nya. Anda dapat mengganti namanya di Konsol ApsaraMQ for MQTT. |
|
Transaksi Pesan Per Detik (TPS) per instans |
Dibatasi berdasarkan spesifikasi yang dibeli. Jika TPS pesan melebihi batas spesifikasi, klien (termasuk klien MQTT open source dan SDK cloud) mungkin mengalami pemutusan koneksi, timeout respons, atau pembuangan pesan. |
Satu klien MQTT biasanya menangani volume pesan yang rendah, dan beberapa SDK tidak dirancang untuk throughput tinggi. Pertahankan TPS pesan untuk satu klien MQTT di bawah 20. Untuk throughput lebih tinggi dalam skenario sisi server, gunakan klien ApsaraMQ for RocketMQ sebagai gantinya. |
|
Koneksi online per instans |
Dibatasi berdasarkan spesifikasi yang dibeli. Koneksi baru mungkin ditolak jika jumlah koneksi melebihi batas spesifikasi. |
ApsaraMQ for MQTT memantau koneksi online dan mengirimkan peringatan secara default. Anda dapat menyesuaikan ambang batas peringatan sesuai kebutuhan. |
|
Hubungan subscription per instans |
Jika jumlah subscription melebihi batas spesifikasi, subscription baru mungkin gagal, koneksi klien yang ada mungkin diputus, atau integritas subscription tidak terjamin. |
ApsaraMQ for MQTT memantau hubungan subscription dan mengirimkan peringatan secara default. Anda dapat menyesuaikan ambang batas peringatan sesuai kebutuhan. |
|
Alamat IP titik akhir instans |
Tidak ada |
Alamat IP titik akhir instans bersifat dinamis dan dapat berubah sewaktu-waktu. Jangan hardcode alamat IP dalam aplikasi Anda. ApsaraMQ for MQTT tidak bertanggung jawab atas masalah yang disebabkan oleh situasi berikut:
|
Batasan topik
|
Batasan |
Batas |
Deskripsi |
|
Nama topik |
|
Nama topik harus berada dalam rentang panjang yang ditentukan saat Anda mengirim dan menerima pesan. Jika tidak, pengiriman pesan dan subscription topik akan gagal. |
|
Jumlah topik induk per instans |
25 |
Jika batas default tidak memenuhi kebutuhan Anda, hubungi dukungan teknis ApsaraMQ for MQTT. Nomor grup DingTalk adalah 116015007918. Catatan
Jumlah topik anak tidak dibatasi. Untuk operasi bisnis yang stabil, jumlah topik anak sebaiknya tidak melebihi 1.000. |
|
Penggunaan topik lintas wilayah |
Tidak didukung |
Jika Anda mengonfigurasi aturan di ApsaraMQ for MQTT untuk mengaktifkan komunikasi data dengan ApsaraMQ for RocketMQ, sumber daya terkait harus berada dalam wilayah yang sama. |
Batasan klien
|
Batasan |
Batas |
Deskripsi |
|
Client ID |
|
Client ID tidak boleh melebihi batas panjang ini. Jika dilanggar, koneksi klien akan dihentikan. |
|
Group ID |
|
Group ID harus berada dalam rentang panjang yang ditentukan. Jika tidak, klien tidak dapat mengirim pesan atau berlangganan topik. |
|
Device ID |
|
Device ID harus mematuhi batas panjang tersebut. Jika tidak, koneksi klien akan dihentikan. |
|
Jumlah topik yang dapat di-subscribe oleh satu klien |
30 |
Setiap klien dapat berlangganan hingga 30 topik secara bersamaan. Melebihi batas ini menyebabkan permintaan subscription baru gagal. Instans Edisi Platinum mendukung penyesuaian. Untuk mengajukan permintaan penyesuaian, hubungi dukungan teknis ApsaraMQ for MQTT di grup DingTalk 116015007918. Saat menghitung jumlah topik yang di-subscribe, subscription yang mencakup karakter wildcard dihitung sebagai satu subscription. Subscription ke topik anak berbeda di bawah topik induk yang sama dihitung sebagai subscription terpisah. Misalnya, subscription ke A/# dihitung sebagai satu subscription. Subscription ke A/# dan A/a1/# dihitung sebagai dua subscription. |
|
Jumlah hubungan subscription wildcard |
Maksimal 100 hubungan subscription wildcard diperbolehkan untuk setiap topik induk. |
Server membatasi subscription wildcard aktif hingga 100 per topik induk. Jika melebihi batas tersebut, hanya 100 hubungan yang dimuat, yang dapat menyebabkan beberapa klien tidak menerima pesan. Kendalikan secara ketat jumlah subscription wildcard. Misalnya, untuk topik induk A, subscription ke A/#, A/a1/#, dan A/a2/# dihitung sebagai tiga hubungan terpisah. |
|
Interval heartbeat maksimum |
8 menit |
Interval heartbeat tidak boleh melebihi 8 menit. |
Batasan pengiriman dan penerimaan pesan
|
Batas |
Batas |
Deskripsi |
|
Ukuran pesan |
64 KB |
Pesan yang melebihi batas ukuran muatan ini akan dibuang. Instans Edisi Platinum mendukung penyesuaian. Untuk mengajukan permintaan penyesuaian, hubungi dukungan teknis ApsaraMQ for MQTT. Nomor grup DingTalk adalah 116015007918. |
|
Periode retensi pesan |
3 hari |
ApsaraMQ for MQTT hanya menyimpan pesan offline ketika QoS diatur ke 1 dan cleanSession diatur ke false. Pesan disimpan hingga 3 hari, lalu dihapus secara otomatis menggunakan metode scrolling. Untuk informasi lebih lanjut tentang QoS dan cleanSession, lihat Glosarium. Instans Edisi Platinum mendukung penyesuaian. Untuk mengajukan permintaan penyesuaian, hubungi dukungan teknis ApsaraMQ for MQTT. Nomor grup DingTalk adalah 116015007918. |
|
QoS dan cleanSession |
Konfigurasi QoS=2 dan cleanSession=false tidak didukung. |
Saat mengirim dan menerima pesan dengan ApsaraMQ for MQTT:
|
|
Periode validitas token |
30 hari |
Saat Anda memanggil Operasi API untuk meminta token, jika nilai ExpireTime melebihi 30 hari, operasi tersebut tetap mengembalikan token tanpa error, tetapi periode validitas aktual dibatasi maksimal 30 hari. |
|
Waktu visibilitas pesan offline |
10 detik |
Setelah server mendorong pesan untuk pertama kali, server menunggu timeout atau acknowledgment kegagalan untuk menentukan apakah pesan tersebut menjadi pesan offline. Penundaan ini biasanya 5 hingga 10 detik. |
|
Jumlah pesan offline yang disimpan |
1.000.000 |
Server membatasi jumlah pesan offline per instans hingga 1.000.000. Jika melebihi batas tersebut, pesan terlama akan dihapus terlebih dahulu. Gunakan pola subscription persistensi secara hati-hati untuk menghindari pembuatan pesan offline yang berlebihan. Jika batas default tidak memenuhi kebutuhan Anda, hubungi dukungan teknis ApsaraMQ for MQTT. Nomor grup DingTalk adalah 116015007918. |