Blog

Yatay ölçeklendirme: sunucu aralığı

Kurumsal bir sistem için bir platform seçerken, büyük şirketlerin en az bir ortak kriteri vardır – performans. Sistem en fazla 5.000 eşzamanlı kullanıcı oturumunu kaldırabiliyorsa ve şirkette 20.000 kullanıcı varsa, böyle bir yazılım ürününün uygun olması pek olası değildir. Bu durumda, sistemin ölçeklenebilirliği devreye girer.

Ölçeklenebilirlik, bir sistemin kendisine tahsis edilen kaynak sayısı arttığında performansını artırma yeteneğidir.

Ölçeklendirme görünümleri

İki tür ölçeklendirme vardır: dikey ve yatay.

  • Dikey ölçeklendirme, mevcut donanıma kaynak ekleyerek uygulama performansını artırmaktır. Örneğin, RAM’i artırmak veya işlemciyi daha güçlü bir işlemciyle değiştirmek. Bu durumda ölçeklenebilirlik sınırlıdır, bir tavana ulaşmak çok kolaydır.
  • Yatay ölçeklendirme – yükü mevcut ve yeni donanımlar arasında dağıtarak uygulama performansını artırmak. Sunucu sayısını arttırmak mümkün olduğu sürece performansı arttırmak ve daha fazla kullanıcıya rahat çalışma imkanı sağlamak mümkündür

Bir uygulamanın yatay ölçeklendirmeyi desteklemesi için, uygulama kodunun sunucuların birbirleriyle iletişim kurması ve senkronize olması için bir mekanizmayı desteklemesi gerekir. Yatay ölçeklendirme için fırsatlar sağladık, böylece SimpleOne platformu neredeyse her düzeyde yüke sahip bir projeyi uygulamak için kullanılabilir.

Sunucuların yatay ölçeklendirilmesi iki seviyede gerçekleştirilir:

  1. Sistemi işlevlere göre daha küçük yapısal bileşenlere ayırmak ve bunları ayrı sunuculara dağıtmak.
  2. Bir fonksiyon içinde ölçeklendirme:
    • aynı işlevi paralel olarak gerçekleştiren sunucu sayısının artırılması;
    • modern teknolojilerin kullanımı. Örneğin, veritabanı (DB) sunucu ölçeklendirmesi replikasyon, bölümleme ve parçalama kullanır.

Bu makalede, SimpleOne’ın ilk seviyede yatay ölçeklendirmeyi nasıl yaptığını tartışacağız – sunucu aralığı.

Sunucu Aralığı

SimpleOne sistemi işlevlerine göre dört gruba ayrılır: istemci sunucusu, uygulama sunucusu, veritabanı sunucusu ve dosya depolama sunucusu.

İstemci Sunucu

İstemci sunucu, kullanıcı ile uygulama arasındaki birincil iletişimden sorumludur. Bu sunucu, uygulamayı çalıştırmak için gereken kodu yükleyerek uygulamanın çalışmasını sağlar: CSS, JS, ReactJS, ConfigJS.

Uygulama Sunucusu

İstemci sunucu ile ilk etkileşimden sonra, tüm kullanıcı istekleri uygulama sunucusuna gider. Örneğin, kullanıcı bir sayfa veya bir düğme listesi ister. Uygulama sunucusu isteği işler, verileri ister ve kullanıcıya iletir.

Veritabanı sunucusu

Veritabanı sunucusu veritabanını korur ve yönetir ve verilerin bütünlüğünden ve güvenliğinden sorumludur.

Veritabanı sunucusu performans darboğazıdır. SimpleOne, üzerindeki yükü azaltmak için dosyaları ayrı bir sunucuda depolar.

Dosya Depolama Sunucusu

Dosyalar, S3 protokolü aracılığıyla erişilebilen depolama alanında saklanır.

Amazon Simple Storage Service (Amazon S3), bulut hizmet sağlayıcıları tarafından sunulan bir nesne depolama hizmetidir. Çözümün temel avantajı, her türden, her boyuttan dosyayı yüksek düzeyde güvenilirlik ve kullanılabilirlikle depolayabilmesidir.

Bir dosya talep edildiğinde, uygulama sunucusu dosya depolama alanına erişerek bir belirteç oluşturur ve bunu tarayıcıya iletir. Belirteç aracılığıyla kullanıcı dosya deposundaki nesneye erişebilir.

Genel olarak, geliştirme şirketleri büyük dosyaları (videolar, resimler vb.) ayrı bir sunucuya yerleştirmez, bunları bir veritabanı sunucusunda depolar. Veri ve dosya depolamayı farklı sunuculara yaymanın avantajları vardır:

  • Veritabanı sunucusu üzerindeki yükün azaltılması
  • Dosya depolama, uygulama sunucusunu ölçeklendirirken bile dosyalarla çalışmanıza olanak tanır. Belirteçlerin kullanılması nedeniyle, istemcideki dosyaların indirilmesi uygulama sunucusundaki yükü önemli ölçüde artırmaz.

Sonuç

Sistem ölçeklenebilirliği büyük şirketler için önemli bir rol oynamaktadır. Yatay ölçeklendirme, ESM-platformu SimpleOne‘ın performansını artırmak için neredeyse sonsuz olanaklar sağlar, bu da onu her seviyedeki yüksek yüklü projelerin gerçekleştirilmesi için uygun hale getirir.

Herhangi bir sorunuz var mı?
Bizimle iletişime geçin, yöneticilerimiz size tavsiyelerde bulunacaktır.
Web sitesinde gezinme kabul ediyorsunuz çerezlerin kullanımına