Yatay Ölçekleme Darboğazı
Yatay olarak 50 örneğe ölçeklendik. Darboğaz sadece yer değiştirdi.
Aşama 1: Uygulama darboğazı
- 5 uygulama sunucusu, %100 CPU
- Çözüm: 20 sunucuya ölçeklendirme
- Sonuç: Uygulama CPU %30
Aşama 2: Veritabanı darboğazı
- Veritabanı: %100 CPU, 5000 bağlantı
- Çözüm: Bağlantı havuzu, okuma replikaları
- Sonuç: Veritabanı CPU %60
Aşama 3: Yük dengeleyici darboğazı
- Tek ALB paket sınırına ulaşıyor
- Çözüm: DNS round-robin ile çoklu ALB'ler
- Sonuç: Trafik dağıtıldı
Aşama 4: Mesaj kuyruğu darboğazı
- RabbitMQ tek düğümü doymuş
- Çözüm: Kümelenmiş kuyruk, bölümlenmiş konular
- Sonuç: Mesajlar akıyor
Ders:
Amdahl Yasası: Hızlandırma, sıralı parçalarla sınırlıdır
Sistem verimi = min(
uygulama_kapasitesi,
vt_kapasitesi,
ağ_kapasitesi,
kuyruk_kapasitesi,
harici_api_kapasitesi
)
Ne öğrendik:
- Ölçeklendirmeden ÖNCE darboğazı belirleyin
- Tüm yolu yük testine tabi tutun
- Sadece uygulamaları değil, tüm bileşenleri izleyin
- Bazen dikey ölçeklendirme daha ucuzdur
Ders: Bir bileşeni ölçeklendirmek, darboğazı bir sonrakine taşır. Uçtan uca kapasite için plan yapın.