Tüm Ürünler
Search
Belge Merkezi

Simple Message Queue (formerly MNS):Kısıtlama ilkesi

Son Güncelleme:Oct 06, 2026

Simple Message Queue (formerly MNS) hizmeti, temel kaynaklar üzerinde aşırı yük oluşmasını önlemek amacıyla kısıtlama eşiğini aşan isteklere bir kısıtlama ilkesi uygular. Kısıtlama ilkesini anlamak, mesaj gönderme ve alma sıklığını makul şekilde planlamanıza ve kısıtlama tetiklendiğinde uygun adımları atmanıza yardımcı olur.

Kısıtlama davranışı

Trafik kısıtlama eşiğine yaklaştığında veya bu eşige ulaştığında sunucu, gerçek zamanlı kaynak kullanımına bağlı olarak kısıtlama eşiğini otomatik ve esnek biçimde ayarlar. Çoğu senaryoda bu mekanizma, kullanıcılar fark etmeden daha yüksek eşzamanlı istekleri dinamik olarak destekler. Geçici kısıtlama tetiklendiğinde (örneğin ani trafik artışları veya küme kaynak darboğazları nedeniyle) sistem, otomatik ölçeklendirme tamamlandıktan sonra trafik işleme kapasitesini geri kazandırır ve kısıtlama eşiğini eşzamanlı olarak yükseltir.

Kısıtlama tetiklendiğinde sistem bir geri basınç (backpressure) mekanizması devreye sokar. Eşiği aşan istekler sunucuda kısa süre bekletilir ve ardından 429 (TooManyRequests) hatası döndürülür. Bekletme süresi sunucu tarafından gerçek zamanlı yük durumuna göre dinamik olarak ayarlanır; tipik olarak 10 ile 500 milisaniye arasında değişir ve maksimum 5 saniyeye kadar çıkabilir. Bu yaklaşım, sistemin genel performansını ve kararlılığını etkileyebilecek aşırı yüklenmesini engeller.

Hata kodu

Kısıtlama ilkesi tetiklendiğinde Simple Message Queue (formerly MNS) sunucusu aşağıdaki hata kodu bilgilerini döndürür.


HTTPS durum kodu


Hata kodu


Hata iletisi


429


TooManyRequests


The request is denied by cluster flow limiter for too many requests.

Kısıtlama eşikleri

Kuyruk tüketim modunda anormal tüketim kısıtlama ilkesi

Standart kuyruk tüketim deseninde istemci, bir mesajı başarıyla işledikten sonra mesajı silmek için sunucuya bir istek göndermelidir. Bir istemci "mesaj alıp silme isteği göndermeme" şeklinde standart dışı davranışı tekrarladığında sistem bunu anormal tüketim olarak işaretler ve sistem kararlılığını sağlamak üzere bir kısıtlama mekanizması tetikler. Kısıtlama uygulandıktan sonra istemcinin yeni mesaj alma hızı önemli ölçüde azalır.

Aşağıdaki koşullardan herhangi biri gerçekleştiğinde kısıtlama tetiklenir:

  • Süre: Anormal tüketim 30 dakikadan uzun sürer.

  • Mesaj sayısı: Alınan ancak silinmeyen mesajların kümülatif sayısı 5.000'e ulaşır.

  • Trafik hızı: Alınan ancak silinmeyen mesajların anlık hızı 1.000 TPS'yi aşar.

Yüksek trafikli istekler için kısıtlama ilkesi

Alibaba Cloud hesabı başına ve bölge başına varsayılan kısıtlama eşiği 20.000 TPS'dir. Trafiğiniz 20.000 TPS'yi aşarsa bölge başına maksimum TPS değerini artırmak için Quota Center console üzerinden başvuru yapın. Ayrıntılı adımlar için bkz. Submit an application to increase a quota.

İstek sayısı kuralları:

  • Her API çağrısı bir istek olarak sayılır.

  • Toplu gönderim senaryolarında TPS hesaplaması: Bir kuyruğa karşı BatchSendMessage işlemi çağırdığınızda BatchSendMessage TPS = saniyedeki gerçek BatchSendMessage isteği sayısı × istek başına mesaj sayısı. Örneğin BatchSendMessage saniyede 100 kez çağrılıyorsa ve her çağrı 10 mesaj içeriyorsa tek bir kuyruk tarafından tüketilen TPS = 100 × 10 = 1.000 olur.

  • Toplu tüketim senaryolarında TPS hesaplaması: Bir kuyruğa karşı BatchReceiveMessage işlemi çağırdığınızda BatchReceiveMessage TPS = saniyedeki gerçek BatchReceiveMessage isteği sayısı (toplu iş başına mesaj sayısından bağımsızdır). Örneğin BatchReceiveMessage saniyede 100 kez çağrılıyorsa ve her çağrı 10 mesaj içeriyorsa tek bir kuyruk tarafından tüketilen TPS = 100 olur.

Kısıtlama etkisini önleyin

Kısıtlama ilkesinin işiniz üzerindeki etkisini önlemek için aşağıdaki iki hususa odaklanın:

  • Trafiği dikkatle planlayın ve yoğun trafiği önceden bildirin: Büyük ölçekli trafik artışı öngörüyorsanız ve TPS Quota Center console üzerinden başvurabileceğiniz maksimum değeri aşıyorsa daha fazla kaynak ayırtmak ve kısıtlamanın tetiklenmesini önlemek amacıyla teknik destek ile iletişime geçmek için submit a ticket seçeneğini kullanın.

  • İzleme ve uyarı: Simple Message Queue (formerly MNS) hizmetine Create an alert rule entegrasyonu yapmanızı öneririz. Kısıtlama eşiğine ne zaman yaklaşıldığını tespit etmek için CloudMonitor konsolunda (CloudMonitor console > Cloud Service Monitoring > Message Service MNS) her kuyruk veya konunun gerçek zamanlı TPS kullanımını görüntüleyin.

SSS

Hizmet yalnızca 20.000 TPS'yi mi destekler?

Hayır. 20.000 TPS varsayılan garanti edilen değerdir. Küme yüküne ve esnek ölçeklendirme yeteneklerine bağlı olarak gerçekte desteklenen TPS daha yüksek olabilir.

Neden kısıtlama bazen 20.000 TPS'nin üzerinde gerçekleşir ancak her zaman değil?

Sunucu kısıtlamayı tetikleyip tetiklemeyeceğine karar verirken belirli bir esnek marj bulunur. Varsayılan kısıtlama eşiği olan 20.000 TPS'yi örnek alırsak kısıtlamayı tetikleyen gerçek QPS kesinlikle 20.000'e eşit değildir, biraz daha yüksek olabilir (örneğin 20.000 ile 20.200 arasında; bu aralık yalnızca bir örnektir, gerçek aralık dinamik olarak ayarlanır). Ancak bu esnek marj sabit bir değer değildir. Küme yükü yüksek olduğunda esnek marj otomatik olarak daralır ve uç durumlarda 0'a kadar inebilir; bu da eşiğe ulaşıldığında kısıtlamanın hemen tetikleneceği anlamına gelir.

Mesaj gönderme/alma hatalarına neden olarak işinizi etkileyebilecek kısıtlama tetiklemelerini önlemek için API maksimum değer veya API su işareti uyarılarını yapılandırmanızı şiddetle öneririz. Referans: Create an alert rule


Dakika başına API QPS maksimum değeri


MaxApiQpsPerUser


API QPS su işareti yüzdesi


WatermarkOfApiQps


Dakika başına Konsol API QPS maksimum değeri


MaxConsoleApiQpsPerUser


Konsol API QPS su işareti yüzdesi


WatermarkOfConsoleApiQps

Kısıtlama işi etkiler mi?

Kısıtlama, ani trafik artışlarının kümeyi aşırı yükleyerek genel kararlılığı etkilemesini önlemek için tasarlanmış bir sistem aşırı yük koruma mekanizmasıdır. İstemcilerin 429 hataları aldığında üstel geri çekilme (exponential backoff) yeniden deneme stratejisi uygulamalarını öneririz (örneğin aralıkları 1 sn, 2 sn ve 4 sn şeklinde kademeli olarak artırma). Bu yaklaşım baskıyı daha da artıran ani ve büyük ölçekli yeniden denemelerden kaçınmanıza yardımcı olur.