全部产品
Search
文档中心

Simple Message Queue (formerly MNS):Kebijakan throttling

更新时间:Nov 11, 2025

Simple Message Queue (formerly MNS) menerapkan kebijakan throttling terhadap permintaan yang melebihi ambang batas yang ditentukan guna mencegah sumber daya dasar menjadi kewalahan.

Perilaku throttling

Saat lalu lintas mendekati atau mencapai ambang batas throttling, server secara otomatis menyesuaikan ambang tersebut berdasarkan penggunaan sumber daya secara real-time. Dalam sebagian besar skenario, sistem dapat secara dinamis mendukung jumlah permintaan konkuren yang lebih tinggi tanpa memengaruhi layanan Anda. Jika throttling sementara dipicu oleh peristiwa seperti lonjakan lalu lintas mendadak atau bottleneck sumber daya kluster, sistem akan memulihkan kapasitas pemrosesan lalu lintas dan meningkatkan ambang batas throttling setelah proses scale-out otomatis selesai.

Ketika kesalahan throttling terjadi, sistem mengaktifkan mekanisme tekanan balik (backpressure). Permintaan yang melebihi ambang batas ditangguhkan di server selama sekitar 500 milidetik sebelum tanggapan dikembalikan. Hal ini mencegah beban berlebih pada sistem yang dapat memengaruhi kinerja dan stabilitas keseluruhan.

Kode kesalahan

Ketika kebijakan throttling dipicu, server Simple Message Queue (formerly MNS) mengembalikan kode kesalahan berikut.

Kode status HTTP

Kode kesalahan

Deskripsi

429

TooManyRequests

Permintaan ditolak oleh pembatas alur kluster karena terlalu banyak permintaan.

Deskripsi ambang batas throttling

Ambang batas throttling default untuk setiap Akun Alibaba Cloud di setiap Wilayah adalah 20.000 transaksi per detik (TPS). Jika lalu lintas Anda melebihi 20.000 TPS, Anda dapat mengajukan tiket untuk meningkatkan ambang batas default tersebut.

Permintaan dihitung sebagai berikut:

  • Setiap panggilan ke operasi API dihitung sebagai satu permintaan.

  • Perhitungan TPS untuk pengiriman batch: Saat Anda menggunakan operasi BatchSendMessage untuk mengirim pesan ke Antrian, TPS dihitung dengan rumus berikut: Jumlah permintaan BatchSendMessage per detik × Jumlah pesan dalam setiap permintaan. Misalnya, jika Anda membuat 100 permintaan BatchSendMessage per detik dan setiap permintaan berisi 10 pesan, maka TPS untuk Antrian tersebut adalah 100 × 10 = 1.000.

  • Perhitungan TPS untuk konsumsi batch: Saat Anda menggunakan operasi BatchReceiveMessage untuk menerima pesan dari Antrian, TPS dihitung dengan rumus berikut: Jumlah permintaan BatchReceiveMessage per detik × Jumlah pesan dalam setiap permintaan. Misalnya, jika Anda membuat 100 permintaan BatchReceiveMessage per detik dan setiap permintaan berisi 10 pesan, maka TPS untuk Antrian tersebut adalah 100 × 10 = 1.000.

Hindari dampak throttling

Untuk mencegah kebijakan throttling memengaruhi bisnis Anda, pertimbangkan hal-hal berikut:

  • Rencanakan lalu lintas Anda dan beri tahu kami terlebih dahulu mengenai lalu lintas puncak: Jika Anda memperkirakan peningkatan lalu lintas yang signifikan, Anda dapat mengajukan tiket untuk menghubungi kami. Kami kemudian dapat menyediakan lebih banyak sumber daya bagi Anda guna mencegah throttling.

  • Pemantauan dan peringatan: Gunakan alat pemantauan untuk Simple Message Queue (formerly MNS) guna memperoleh informasi real-time mengenai lalu lintas dan status throttling, serta segera mengambil tindakan.

FAQ

Apakah bisnis saya hanya bisa mendukung 20.000 TPS?

Tidak. 20.000 TPS adalah nilai jaminan default. TPS aktual yang didukung mungkin lebih tinggi dan bergantung pada beban kluster serta elastisitasnya.

Mengapa terkadang saya mendapat kesalahan saat melebihi 20.000 TPS dan terkadang tidak?

Hal ini ditentukan oleh beban real-time kluster. Sistem secara elastis mendukung TPS yang lebih tinggi ketika sumber daya mencukupi, tetapi mungkin memicu throttling ketika sumber daya terbatas.

Apakah kesalahan throttling akan memengaruhi bisnis saya?

Kesalahan throttling merupakan bagian dari mekanisme perlindungan sistem yang mencegah beban berlebih pada kluster agar tidak menyebabkan gangguan layanan secara luas. Sistem akan melakukan scale-out sesegera mungkin untuk memulihkan layanan. Jika Anda menerima kesalahan throttling, tunggu sejenak lalu coba ulang permintaan tersebut.

Mengapa throttling terkadang dipicu dan terkadang tidak?

Elastisitas dan perilaku throttling sistem sangat bergantung pada faktor-faktor berikut:

  • Beban kluster saat ini: Jika kluster memiliki sumber daya yang cukup, sistem akan berusaha mendukung TPS yang lebih tinggi.

  • Fluktuasi lalu lintas: Lonjakan lalu lintas mendadak dapat menyebabkan kekurangan sumber daya sementara, yang memicu throttling.

  • Kecepatan scale-out: Scale-out otomatis memerlukan waktu. Selama periode ini, throttling sementara mungkin terjadi.

Oleh karena itu, pemicuan throttling bergantung pada status real-time kluster dan kondisi lalu lintas saat itu.