Mikro Hizmet Mimarisi - Ölçeklendirme
Ölçeklendirme, bir yazılımı farklı birimlerde parçalama işlemidir. Ölçeklendirme, ölçeklenebilirlik açısından da tanımlanır. Ölçeklenebilirlik, uygulamanın daha gelişmiş özelliklerini uygulama potansiyelidir. Uygulamanın güvenliğini, dayanıklılığını ve sürdürülebilirliğini artırmaya yardımcı olur. Sektörlerde izlenen üç tür ölçeklendirme prosedürüne sahibiz. Aşağıda, ilgili gerçek hayat örnekleriyle birlikte farklı ölçeklendirme metodolojileri verilmiştir.
X Ekseni Ölçeklendirme
X ekseni ölçeklendirmesine yatay ölçekleme de denir. Bu prosedürde, uygulamanın tamamı farklı yatay bölümlere ayrılmıştır. Normalde, herhangi bir web sunucusu uygulaması bu tür bir ölçeklendirmeye sahip olabilir. Aşağıdaki şekilde gösterildiği gibi yatay ölçeklendirmeyi izleyen normal bir MVC mimarisini düşünün.
Örnek olarak, herhangi bir JSP servlet uygulamasını düşünebiliriz. Bu uygulamada, kontrolör her talebi kontrol eder ve gerektiğinde modelle iletişim kurarak görünüm oluşturur. Normalde monolitik uygulamalar bu ölçeklendirme yöntemini takip eder. X Ekseni ölçeklendirme doğası gereği çok basittir ve çok daha az zaman alır. Bu metodolojide, bir yazılım, birimin sorumlu olduğu farklı görevine bağlı olarak ölçeklenecektir. Örneğin, kontrolör gelen ve giden talebi kontrol etmekten sorumludur, görünüm, iş işlevselliğini tarayıcıdaki kullanıcılara temsil etmekten sorumludur, model ise verilerimizi depolamaktan sorumludur ve veri tabanı olarak çalışır.
Y Ekseni Ölçeklendirme
Y ekseni ölçeklendirme, herhangi bir kaynak düzeyi ölçeklendirmesini içeren dikey ölçeklendirme olarak da adlandırılır. Herhangi bir DBaaS veya Hadoop sistemi Y ekseni ölçeklendirilmiş olarak düşünülebilir. Bu tür ölçeklendirmede, bazı mantık uygulanarak kullanıcıların isteği yönlendirilir ve kısıtlanır.
Facebook'u örnek olarak ele alalım. Facebook'un her saniyede 1,79 milyon kullanıcıyı işlemesi gerekiyor; bu nedenle, trafiği kontrol etmek Facebook ağ mühendislerinin büyük bir sorumluluğudur. Herhangi bir tehlikenin üstesinden gelmek için, aynı anda aynı uygulama ile birden fazla sunucunun çalıştırılmasını içeren Y ekseni ölçeklendirmesini takip ederler. Şimdi bu büyük trafik seviyesini kontrol etmek için Facebook, görüntüde gösterildiği gibi tüm trafiği bir bölgeden belirli bir sunucuya yönlendiriyor. Bölgeye göre bu trafik aktarımına mimari dilde yük dengeleme denir.
Kaynakları küçük bağımsız iş birimlerine ayırmanın bu yöntemi Y Ekseni ölçeklendirmesi olarak bilinir.
Z Ekseni Ölçeklendirme
X ve Y ekseni ölçeklendirmesinin anlaşılması çok daha kolaydır. Ancak, Z ekseni ölçekleme olarak adlandırılan bir uygulama işletme düzeyinde de ölçeklenebilir. Aşağıda, iş birimlerinin farklı dikeylerinde bir taksi hizmeti uygulamasının ölçeklendirilmesine bir örnek verilmiştir.
Ölçeklendirmenin Avantajları
Cost - Bir yazılımın uygun şekilde ölçeklendirilmesi, bakım maliyetini azaltacaktır.
Performance - Gevşek bağlantı nedeniyle, doğru şekilde ölçeklendirilmiş bir yazılımın performansı her zaman ölçeklenmemiş bir yazılımdan daha iyidir.
Load distribution - Farklı teknolojileri kullanarak sunucu yükümüzü kolaylıkla koruyabiliriz.
Reuse - Bir yazılımın ölçeklenebilirliği, yazılımın kullanılabilirliğini de artırır.