Bir kaç yıl önce sadece en büyüklerin yaşadığı ölçek problemlerini artık herkes yaşıyor. Resim depolama ve işleme ise bunun en iyi örneklerinden biri.
İlk çözüm gayet standart. Web hosting işlerinde onlarca yıldır yapıldığı gibi FTP ve HTTP servisleri aynı sunucu üzerinde çalışabilir:
Hatta yüksek ihtimal diğer tüm gerekli uygulamalar da bu makine üzerinde çalıştırılır. Gayet basit ve temiz bir çözüm.
Mikro ölçek çözümde ilk bariz problem, resimlerin tek bir yerde durmasından kaynaklı verilerin bozulması tehlikesi. Neyseki bu problem aynı sunucuda çalışacak donanım ya da yazılım tabanlı bir RAID sistemiyle kolaylıkla çözülür.
Bu sayede disklerin herhangi birinin bozulmasına karşı veriler korunmuş olur. Sistem tek bir makinede çalışarak hayatına devam edebilir.
Gerek aktif kamera sayısının artmasıyla, gerekse resimleri izleyecek istemcilerin sayısının artmasıyla bu iş bir süre sonra tek bir sunucunun halledemeyeceği bir noktaya gelir, birden fazla sunucu kullanma gereği oluşur. En kolay çözüm ise bu sistemin aynısından birkaç tane daha hazırlamak.
Ancak bu durumda hem kameralar hem istemciler birbirlerinden ayrılmalı, kullanıcılar birden fazla sistemi aynı anda kullanabilmeli.
Birbirinden ayrı ve sayıları her gün artan sistemler, hem kullanıcılar hem de yöneticiler açısından hızla içinden çıkılmaz bir karmaşaya dönüşür. Bu yüzden sistemlerin sayısının artırılması yerine tek bir sistemin ölçeklendirilmesi gerekir. Öncelikle sistemin FTP, HTTP, resim işleme vb fonksiyonları ayrılır. Ancak bu servislerin sayısını artırabilmek için:
gerekir. Sonuç ölçeklenebilir mimari şu şekilde oluşur:
Yeni eklenen yük dengeleme ve depolama sistemlerinin ölçeklenmesi ise ayrıca incelenir.
Nispeten daha da büyük sistemlerde ihtiyaç olan bir durum olarak yük dengeleyicilerin artırılarak ölçeklenmesi FTP, HTTP vb. erişim servislerinde yapılan işleme benzer: istenen sayıda yerleştirilip hepsi aynı şekilde çalıştırılabilir.
Dışarıdan erişimin birden fazla yük dengeleyiciye nasıl dağıtılacağı konusu ise genelde kapsam dışı kalır. Diğer bir deyişle sistem mimarlarına farklı yöntemlerle çözmeleri gereken bir problem daha!
Yukarıdaki şekilde gösterilen ve genelde NAS olarak adlandırılan veri depolama sistemleri herkesin bildiği gibi 2 ana bileşenden oluşur:
Bir çok sistem disk sayısı ve dolayısıyla kapasite konusunda neredeyse sonsuz ölçeklenebilir olduğunu iddia eder. Teorik olarak istediğimiz kadar disk kutusu bağlayıp içlerine de istediğimiz kadar disk koyabiliriz. Pratikte bağlayıcı olan iki şey: fiziksel yer ve (varsa) lisanslar için gerekli bütçe.
Ancak kontrol/denetim birimleri için aynı şeyi söylemek pek de mümkün değil. Çoğu sistem en fazla 2 birim kullanabilir. Çoğunda da sadece biri aktif çalışır, diğeri yedek olarak bekler. Diğer bir deyişle makine artırarak ölçeklenme sağlanamaz. Kapasite arttıkça oluşan sistem tam bir darboğaza döner:
Ayrıca bu şekilde sadece bir yedekle tasarlanan sistemlerin arıza durumunda yedeklerine geçişi de çok problemsiz olmaz. Ama bunlar nedense sadece aktif sistem bozulduğunda belli olur, aslında olmamaları gerekir, şans eseri tam o zamana denk gelirler!
Bu tip büyük çözümlerin başka bir problemi de beraberlerinde gelen karmaşa. Tek bir sistemin farklı özelliklerini farklı sistemlerle ve farklı makinelerle halletmeye çalışmak ciddi bir zaman ve efor kaybına yol açar.
Nihai çözüm, her şeyin en baştan ölçeklenebilir şekilde tasarlandığı dağıtık bir sistemdir. Hem erişim tarafında hem depolama tarafında oluşan tüm problemler tek bir sade tasarımla ilk günden çözülmelidir.
Bunlara ek olarak birçok veri depolama sistemi gibi
Ancak hepsinden farklı olarak tüm bu fonksiyonların hem otomatik yedekli şekilde çalışmalarını, hem de kümedeki makine sayısıyla beraber ölçeklenmelerini sağlar. Böylece tek bir küme ve tek tip makine ile
için tek çözüm olur.
Aklınıza takılan bir yer mi var?
Kendi işinizin çözümü için şimdi bize ulaşın!