Yatay ölçeklenme, yükü aralarında dağıtmak için yeni uygulama örnekleri (örneğin, yeni sunucular veya konteynerler) eklemeyi içerir. Dikey ölçeklenme ise bir sunucudaki kaynakları artırmak (CPU, RAM, disk eklemek) anlamına gelir.
Yaklaşımı seçerken aşağıdaki kriterler dikkate alınır:
Kubernetes üzerinden yatay ölçeklenme örneği:
apiVersion: apps/v1 kind: Deployment metadata: name: my-app spec: replicas: 5 # pod sayısı - yatay ölçeklenme selector: matchLabels: app: my-app template: metadata: labels: app: my-app spec: containers: - name: my-app image: myimage:v1
Anahtar özellikler:
Yatay ölçeklenme her zaman dikey ölçeklenmeden daha iyi midir?
Hayır. Belirli görevler için (örneğin, monolitik veya stateful hizmetler) dikey ölçeklenme daha kolay ve etkili olabilir.
Yatay ölçeklenme için uygulamanın hiçbir ek geliştirme gerektirmediği mi?
Hayır. Uygulama stateless olmalı, oturum paylaşımını desteklemeli (örneğin, dış bir önbellek aracılığıyla) ve ölçeklenmeye düzgün bir şekilde yanıt vermelidir.
Veritabanı ölçeklendirmesi her zaman yatay olarak mı yapılır?
Hayır. Tüm DBMS'ler yatay olarak kolayca ölçeklenemez. Klasik ilişkisel veritabanları genellikle dikey olarak ölçeklendirilir (scale-up) ya da parçalama/replikasyon kullanır.