23 Eylül 2007 Pazar
TCP/IP katmanıyla sunucu kümeleme (cluster)
Sitenizin %99.9 ayakta (uptime) olmasını istiyorsanız, hesaba katmanız gereken birçok unsur vardır. İnternet'in işleyişini bilmelisiniz. Yayını engelleyebilecek tüm olasılıkları hesaba katmalısınız. Makalemiz, işte bu noktada ağ sorunlarının neden olduğu kesintiler önlemek için alternatif yapılar önerecektir.
Sitenizin adresine "ping atarsanız" sunucunuzun IP adresi döner. Bu bir IP adresinin anlamı şudur; o sunucu makine sizin için çok önemlidir hatta ona bağımlısınız. Müşterileriniz o sunucudan hizmet alamazsa, siteniz yayına ara vermiş olur. Bir makineye bağımlılığı önlemek amacıyla, web sitenize birden fazla IP ve makine tahsis edebilirsiniz. Böylece, makinelerinizden biri hizmet veremez hale gelse bile diğerleri sitenizi ayakta tutar. Bu yönteme, bilindik tabirle "kümeleme" (cluster) denir. Kümeleme, genellikle yük dengelemesi yapmak amacıyla tercih edilir. Aynı zaman, bir makineye bağımlılığı azaltması yönüyle de tercih edilmektedir. Aşağıda, WWW sunucularında kümelemenin kullanılmadığı klasik bir yapı görülmektedir:

Yukarıda görülen yapıda, HTTP sunucusu hizmet veremez durumda olduğunda, site yayına ara vermek zorunda kalır. Müşterileriniz sitenize ulaşamaz.
Aşağıdaki örnek yapıda, TCP katmanıyla kümeleme uygulanmıştır. Web sitesi için hizmet veren sunuculardan her birinin farklı bir IP adresi vardır. Bir sunucu hizmet veremezse, tüketiciler birkaç dakika içerisinde diğerine yönlenir.

Yukarıda görülen yapıda, web sitenizin 3 farklı IP adresi mevcut. Bu adresler, DNS sunucusunda ayarlanmış durumdadır. DNS sunucusunda "www" "A" kayıtları aşağıda örneklenmektedir:

Görüldüğü üzere, "www" kaydı için 3 farklı IP atanmış durumda. Müşterilerinizin bilgisayarları, bu IP'lerden herhangi birine başvuracaktır. Cookie'ler ve Session Sunucusu sayesinde, session'lar sorunsuz işleyecektir. WWW sunucularınız da artık kümelenmiş ve yük dengelemesi yapılmıştır.
TCP katmanıyla kümelemenin yapıldığı bu yeni yapı sayesinde, ayakta kalma oranı epey yükseldi. Ama hala bir risk var; sunucularınız fiziksel olarak aynı mevkide. Mevkiye bağımlı haldesiniz...
Sunucularınızın bulunduğu mevki, internete Telekom kabloları ile bağlı. Telekom'dan kaynaklanan bir nedenle sunucularınızın interneti kesilirse, web siteniz müşterilerinize hizmet ulaştıramaz. Bu olasılığı elemek için, sunucularınızı ülkenin dört bir yanına dağıtabilirsiniz (distributing). Mevkilerinizden birinin internet bağantısı kesildiğinde, diğer mevkileriniz hizmetinizi ayakta tutar:
AUTHOR:
Esref Atak
0
yorum
YAZININ ADRESI
BÖLÜM: Ağ ve Sistem
26 Ağustos 2007 Pazar
Sayfadaki bilgiyi değiştirmede yeni yaklaşımlar
Sitede kayıtlı bir bilginizi değiştirmek için, uzun profil formundaki ilgili metin kutusunu bulup değiştirmek yerine artık yeni yaklaşımlar geliyor.
Bir web sitesine üyesiniz. Mesela profil sayfanızdasınız. Adınız, soyadınız, e-posta adresiniz vs sayfada görünüyor. Sayfadaki örneğin adınızı değiştirmek istediğinizde şu anda şuna benzer işlemler yapmanız gerekir; Bilgilerimi Güncelle düğmesini tıklatırsınız. Tüm profil bilgilerinizin yer aldığı kalabalık bir form açılır. "Ad Soyad" metin kutusunu bulur değiştirirsiniz ve Kaydet düğmesine basarsınız. Bilginiz sisteme kaydedilir. Site sizi anasayfa yönlendirir. Siteyi gezerken en son hangi sayfada kaldığınızı unutursunuz. Tarayıcının Geri düğmesini kullanarak kaldığınız yere geri dönersiniz... Bir bilginizi güncellemek işkence halini almıştır.
Sistemdeki bilgilerinizi güncellemek için web sektöründe yeni yaklaşımlar çıkıyor. İşte bazıları.
Yerinde Düzenle
Profil sayfanızdasınız. Sayfada adınız yazıyor. Adınızı çift tıklatıyorsunuz. Adınız metin kutusuna dönüşüyor. Adınızı değiştirip Enter tuşuna basıyorsunuz. AJAX sayesinde sayfa yenilenmeden yeni adresiniz sisteme kaydediliyor. Yapmanız gereken başka hiç birşey yok.
Onu Düzenle
Bu yaklaşımda, profil sayfasındaki adınızı çift tıklatıyorsunuz. AJAX ile bir iç popup açılıyor. İç popup'ta sadece bir tane metin kutusu var: "Ad Soyad" kutusu. Kutuyu doldurup Enter tuşuna basıyorsunuz. Yeni adresiniz sayfa yenilenmeden sisteme kaydediliyor. Yapmanız gereken başka hiç birşey yok.
Sonuç
Açılan kalabalık formlarla kıyaslandığında, bu yaklaşımların hepsinin işlevsel tasarım açısından daha başarılı yaklaşımlar olduğu kesindir. Bilgiyi kaydetmek kolay olduğundan; kayıtlı olmayan bilgiyi vermek teşvik edilmiş olur, bilgilerden eski olanların güncellenmesi teşvik edilmiş olur vs...
Tarayıcıların sunmaya başladıkları olgunlaşmış Javascript destekleri, başarılı Javascript frameworkleri ve AJAX sayesinde, Web sayfaları masaüstü yazılımlarının sunduğu işlevselliği yakaladı da geçiyor bile. Birkaç yıl içerisine, bu araçların birleşip ortak yaklaşım ve konseptlere hizmet eder hale gelmeleri gelecekleri görünüyor.
AUTHOR:
Esref Atak
0
yorum
YAZININ ADRESI
BÖLÜM: İşlevsel Tasarım
