全部产品
Search
文档中心

Simple Message Queue (formerly MNS):Kebijakan throttling

更新时间:Jan 14, 2026

Simple Message Queue (formerly MNS) menerapkan throttling terhadap permintaan yang melebihi ambang batas guna mencegah tekanan berlebihan pada sumber daya yang mendasarinya.

Perilaku throttling

Saat lalu lintas mendekati atau mencapai ambang batas throttling, sisi server secara otomatis dan elastis menyesuaikan ambang tersebut berdasarkan penggunaan sumber daya secara real-time. Dalam sebagian besar skenario, penyesuaian dinamis ini mendukung konkurensi yang lebih tinggi tanpa memengaruhi pengguna. Jika throttling sementara dipicu oleh event seperti lonjakan lalu lintas atau bottleneck sumber daya kluster, sistem akan melanjutkan pemrosesan lalu lintas dan meningkatkan ambang batas throttling setelah melakukan scale-out secara otomatis.

Ketika terjadi error throttling, sistem mengaktifkan mekanisme tekanan balik (backpressure). Sisi server menangguhkan permintaan yang melebihi ambang batas selama sekitar 500 ms sebelum mengembalikan error. Hal ini mencegah overload sistem yang dapat memengaruhi kinerja dan stabilitas keseluruhan.

Kode Kesalahan

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

Kode status HTTP

Kode kesalahan

Pesan kesalahan

429

TooManyRequests

Permintaan ditolak oleh pembatas alur kluster karena terlalu banyak permintaan.

Detail Ambang Batas Throttling

Kebijakan Throttling untuk Perilaku Tidak Normal dalam Pola Konsumsi Antrian

Dalam pola konsumsi antrian standar, klien harus menghapus pesan setelah memprosesnya. Jika klien berulang kali menerima pesan tetapi tidak mengirim permintaan penghapusan, sistem akan menandai perilaku ini sebagai tidak normal. Perilaku tersebut memicu throttling untuk melindungi stabilitas sistem, yang secara signifikan mengurangi laju penerimaan pesan oleh klien.

Throttling dipicu jika salah satu kondisi berikut terpenuhi:

  • Durasi: Perilaku tidak normal berlangsung lebih dari 30 menit.

  • Jumlah pesan: Total jumlah pesan yang diterima tetapi tidak dihapus mencapai 5.000.

  • Laju: Laju instan penerimaan pesan tanpa penghapusan melebihi 1.000 Transaksi Per Detik (TPS).

Kebijakan Throttling untuk Permintaan dengan Traffic Tinggi

Ambang batas throttling default adalah 20.000 TPS untuk setiap Akun Alibaba Cloud di setiap wilayah. Jika traffic Anda melebihi 20.000 TPS, Anda dapat submit a ticket 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 API BatchSendMessage untuk mengirim pesan ke antrian, TPS untuk BatchSendMessage dihitung sebagai: jumlah permintaan aktual per detik × jumlah pesan dalam permintaan tersebut. Misalnya, jika Anda melakukan 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 API BatchReceiveMessage untuk menerima pesan dari antrian, TPS untuk BatchReceiveMessage dihitung sebagai: jumlah permintaan aktual per detik × jumlah pesan dalam permintaan tersebut. Misalnya, jika Anda melakukan 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 menghindari dampak throttling terhadap bisnis Anda, pertimbangkan hal-hal berikut:

  • Rencanakan traffic Anda dan komunikasikan traffic puncak sebelumnya: Jika Anda memperkirakan adanya peningkatan besar dalam traffic, submit a ticket untuk menghubungi kami. Kami akan menyediakan lebih banyak sumber daya bagi Anda guna mencegah throttling.

  • Pemantauan dan Peringatan: Gunakan monitoring tools untuk Simple Message Queue (formerly MNS) untuk mengambil informasi real-time mengenai traffic dan status throttling Anda. Hal ini memungkinkan Anda mengambil tindakan tepat waktu.

FAQ

Apakah layanan saya dibatasi hingga 20.000 TPS?

Tidak. 20.000 TPS adalah nilai jaminan default. TPS aktual yang didukung bisa lebih tinggi, tergantung pada beban kluster dan kapasitas elastisnya.

Mengapa terkadang saya mendapatkan error saat melebihi 20.000 TPS, tetapi tidak selalu?

Hal ini bergantung pada beban real-time kluster. Saat sumber daya mencukupi, sistem secara elastis mendukung TPS yang lebih tinggi. Namun, ketika sumber daya terbatas, throttling dapat dipicu.

Apakah kesalahan throttling akan memengaruhi bisnis saya?

Error throttling merupakan bagian dari mekanisme perlindungan sistem. Error ini mencegah overload kluster yang dapat menyebabkan gangguan layanan secara luas. Sistem akan melakukan scale-out sesegera mungkin untuk memulihkan layanan. Jika Anda menerima error throttling, tunggu sebentar lalu coba ulang permintaan tersebut.

Mengapa throttling terkadang dipicu, tetapi tidak di lain waktu?

Kapasitas elastis dan perilaku throttling sistem sangat bergantung pada faktor-faktor berikut:

  • Beban kluster saat ini: Jika kluster memiliki sumber daya yang cukup, sistem dapat 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, apakah throttling dipicu atau tidak bergantung pada status real-time kluster dan kondisi traffic.