Ölçekleme ve eşzamanlılık denetimleri

AWS Lambda ile Sunucusuz Uygulamalar

Claudio Canales

Senior DevOps Engineer

Tek görselle ölçekleme

  • Daha fazla talep -> daha çok paralel çalışma.
  • Her çalışma bir yürütme ortamı kullanır.
  • Eşzamanlılık = şu an çalışanlar.

Talep artışı -> daha fazla ortam

AWS Lambda ile Sunucusuz Uygulamalar

Eşzamanlılık nedir?

  • Bir çağrı = bir iş birimi.
  • Eşzamanlılık = şu an kaçının çalıştığı.
  • 10 çalışıyorsa, eşzamanlılık = 10.

Paralel çağrılar

AWS Lambda ile Sunucusuz Uygulamalar

Gerekli eşzamanlılığı tahmin etme

  • Kural: eşzamanlılık = rps * süre.
  • Süreyi düşürerek eşzamanlılığı azaltın.
  • Sınırları güvenle boyutlandırmak için kullanın.

Eşzamanlılık formülü

AWS Lambda ile Sunucusuz Uygulamalar

Örnek: 50 rps, 200 ms

  • 200 ms = 0,2 saniye.
  • 50 * 0,2 = 10 eşzamanlı yürütme.
  • Daha hızlı kod, daha az paralel çalışma demektir.

Eşzamanlılık hesaplama örneği

AWS Lambda ile Sunucusuz Uygulamalar

Sınırlar: hesap havuzu ve işlev dilimi

  • Eşzamanlılık hesap düzeyinde sınırlıdır.
  • Kritik bir işlev için havuzdan pay ayırın.
  • Diğer işlevler kalanını paylaşır.

Hesap eşzamanlılık havuzu

AWS Lambda ile Sunucusuz Uygulamalar

Ayrılmış Eşzamanlılık: sert üst sınır

  • Bir emniyet supabı.
  • Paralel işi sınırlar.
  • Üst sınırın üzerinde çağrılar kısılır.
  • Gürültülü bir işlev kapasiteyi tüketemez.

Ayrılmış eşzamanlılık üst sınırı

AWS Lambda ile Sunucusuz Uygulamalar

Kısma: nasıl görünür

  • Lambda, eşzamanlılık sınırında kısar.
  • Çağıran normal yürütme alamaz.
  • Kısıtları izleme metriklerinde görürsünüz.

Kısma sinyalleri

AWS Lambda ile Sunucusuz Uygulamalar

Sağlanan Eşzamanlılık: hazır kapasite

  • Önceden başlatılmış ortam havuzu.
  • Genellikle bir takma adın arkasında.
  • İstekler daha hızlı başlar.

Sağlanan eşzamanlılık sıcak havuzu

AWS Lambda ile Sunucusuz Uygulamalar

Soğuk başlatma vs sağlanan

Soğuk başlatma

  • Bir kerelik başlatma gecikmesi.
  • İlk istek kurulum maliyetini öder.

Sağlanan

  • Başlatma işi önceden yapılır.
  • İlk istek kurulum maliyetini ödemez.

Soğuk vs sağlanan zaman çizelgesi

AWS Lambda ile Sunucusuz Uygulamalar

Ayrılmış vs sağlanan (farklı sorunlar)

  • Ayrılmış, yükü kontrol eder.
  • Sağlanan, başlatma gecikmesini kontrol eder.
  • Birçok üretim işlevi ikisini de kullanır.

Ayrılmış vs sağlanan karşılaştırması

AWS Lambda ile Sunucusuz Uygulamalar

Alt sistemleri koruyun

  • Veritabanı sınırlı bağlantı kaldırır.
  • Bir eşzamanlılık üst sınırı bunu engeller.
  • Trafik dalgası kesintiye dönebilir.

Eşzamanlılık üst sınırı veritabanını korur

AWS Lambda ile Sunucusuz Uygulamalar

Patlama vs durağan trafik

  • Patlamalar çok sayıda paralel ortam yaratır.
  • Yavaş işleyiciler eşzamanlılığı yüksek tutar.
  • Üst sınırlar dalgayı yumuşatır.
  • Süreyi azaltmak da bir ölçekleme stratejisidir.

Patlama trafiği vs durağan durum

AWS Lambda ile Sunucusuz Uygulamalar

Hatalar ve yeniden denemeler yükü artırır

  • Yeniden denemeler trafiği büyütür.
  • Eşzamanlılık sınırları etki alanını küçültür.
  • Bir hata döngüsü bağımlılıkları ezebilir.

Yeniden denemeler yükü katlar

AWS Lambda ile Sunucusuz Uygulamalar

Basit bir ayar iş akışı

  • Ölçümle başlayın.
  • Kısma veya baskı görünce eşzamanlılığı sınırlayın.
  • Soğuk başlangıç gecikmesi acıtıyorsa sağlanan kapasite ekleyin.

Ölç -> sınırla -> ön ısıt

AWS Lambda ile Sunucusuz Uygulamalar

Önemli çıkarımlar

  • Eşzamanlılık, ölçeklemeyi düşünmeye yardım eder.
  • Tahmin: rps * süre.
  • Ayrılmış üst sınırlar yükü kısıtlar; kısma işaretlerine dikkat edin.
  • Sağlanan, soğuk başlangıç gecikmesini azaltır.

Eşzamanlılık kilit çıkarımlar

AWS Lambda ile Sunucusuz Uygulamalar

Haydi pratik yapalım!

AWS Lambda ile Sunucusuz Uygulamalar

Preparing Video For Download...