Yan yana
Yatay ÖlçeklemevsDikey Ölçekleme
Yatay ölçekleme ile dikey ölçekleme arasındaki fark nedir?
Güncellendi 2 dk okuma7 fark
Kısaca
Yatay ölçekleme daha fazla makine ekleyip yükü onlara dağıtır; dikey ölçekleme ise tek bir makineye daha fazla CPU, bellek ya da daha hızlı depolama verir.
Yatay Ölçekleme
Yatay ölçekleme (scale out), bir sistemin kapasitesini tek bir makineyi büyütmek yerine daha fazla makine ekleyip işi onlara dağıtarak artırır.
Yatay Ölçekleme sayfasını okuDikey Ölçekleme
Dikey ölçekleme (scale up), daha fazla makine eklemek yerine tek bir makineye daha fazla CPU, bellek ya da daha hızlı depolama vererek kapasiteyi artırır.
Dikey Ölçekleme sayfasını okuYatay Ölçekleme ve Dikey Ölçekleme karşılaştırması
| Özellik | Yatay Ölçekleme | Dikey Ölçekleme |
|---|---|---|
| Nasıl | Daha fazla makine eklemek | Tek bir makineyi büyütmek |
| Diğer adı | Scale out | Scale up |
| Sınır | Pratikte sınırsız | Mevcut en büyük makine |
| Hata toleransı | Yüksek: diğer örnekler çalışmaya devam eder | Düşük: tek makine tek bir hata noktasıdır |
| Uygulama değişikliği | Çoğu zaman gerekir: durumsuzluk, sharding | Genellikle gerekmez |
| Ölçeklemek için kesinti | Kademeli değişikliklerle yok | Çoğu zaman bir yeniden başlatma |
| Uygun olduğu | Durumsuz web ve API sunucuları | Veritabanları ve bölünmesi zor yazılımlar |
Fark, açıklamalı
Bir sistemin kapasitesi tükendiğinde büyümenin iki yönü vardır. Yukarı ya da dikey ölçeklemek (scale up) daha büyük bir sunucuya geçmek demektir: daha fazla çekirdek, daha fazla bellek, daha hızlı diskler. Dışarı ya da yatay ölçeklemek (scale out) ise işi aralarında paylaştıran bir yük dengeleyiciyle daha fazla sunucuyu yan yana çalıştırmak demektir.
Dikey ölçekleme en basitidir: uygulama değişmez ve tek bir makine dağıtık sistemlerin karmaşıklığından kaçınır. Bölünmesi zor veritabanlarına ve yazılımlara uyar. Ama her makinenin bir en büyük boyutu vardır, en büyükleri orantısız şekilde pahalıdır, yükseltmeler kesinti gerektirebilir ve tek bir makine tek bir hata noktasıdır.
Yatay ölçekleme neredeyse sınırsız büyüyebilir ve arızalara dayanır, çünkü bir örneğin kaybı diğerlerini çalışır bırakır; kesintisiz kademeli güncellemelere de izin verir. Oturumları ve dosyaları ortak servislerde tutan durumsuz uygulama sunucuları gerektirir; veritabanları için de gerçek bir karmaşıklık ekleyen replikasyon ve sharding demektir.
Sık yapılan bir yanlış, yatay ölçeklemenin her zaman modern ve doğru seçim olduğunu düşünmektir. Başarılı birçok sistem, mühendislik zamanı açısından ucuz olduğu için önce dikey ölçeklenir ve yalnızca ihtiyaç duyan kısımları yatay ölçekler. Pratikte ikisi birleştirilir: birkaç büyük veritabanı sunucusu ve çok sayıda küçük, durumsuz uygulama sunucusu.
Hangisini kullanmalısınız?
Yatay Ölçekleme şu durumlarda doğru seçim:
- Trafik tek bir makinenin kaldırabileceğinin ötesine geçiyor.
- Yüksek erişilebilirliğe ve kesintisiz güncellemelere ihtiyacınız var.
- Uygulama sunucularınız durumsuz ya da durumsuz hâle getirilebilir.
Dikey Ölçekleme şu durumlarda doğru seçim:
- Kod değişikliği olmadan en hızlı çözümü istiyorsunuz.
- İlişkisel bir veritabanı gibi sisteminiz dağıtılması zor bir sistem.
- Büyüme ılımlı ve daha büyük bir makine yeterli.
Sık sorulan sorular
Hangisi daha ucuz, yatay mı dikey ölçekleme mi?
Başta mühendislik emeği açısından dikey ölçekleme daha ucuzdur. Büyük ölçekte ise çok sayıda küçük makine genellikle tek bir dev makineden daha ucuzdur ve dayanıklılık da ekler.
Veritabanları yatay ölçeklenir mi?
Ölçeklenebilir, ama daha fazla çabayla: okuma replikaları okumaları, sharding de yazmaları sunuculara dağıtır. Bazı dağıtık veritabanları baştan yatay ölçeklenmek üzere tasarlanmıştır.
Otomatik ölçekleme (autoscaling) ne yapar?
CPU kullanımı ya da istek oranları gibi metriklere göre yük arttığında örnek ekleyip azaldığında çıkararak otomatik olarak yatay ölçekler.