• ssg'nin de soyledigi gibi, scalable web uygulamasi gelistirirken kullanimi efektif degildir. cunku;

    gelen trafigin yarattigi yuku birden cok sunucuya bolmemiz gerekli. diyelim ki uc tane web (veya uygulama) sunumuz var [artik session nerede yasiyorsa o]. a, b ve c sunuculari olsun. bir kullanicinin yaptigi request, a sunucusuna geldi ve orada bir session olusturduk, request'e cevap verdik. session'in amaci nedir ? o kullanici tekrar geldiginde tanimak dolayisi ile o kullaniciya ait session ile iliskilendirilmis server side nesneleri cagirabilmek. simdi, eger bu kullanici bir daha request gonderdiginde eger ilk request'teki gibi a degil de b sunucusuna gelirse, b sunucusunda a'nin yaratttigi session nesnesi olmadigi icin yandi gulum keten helva. bu yuzden session nesnelerinin tum sunucular arasinda replicate edilmesi yani birinde yaratilan session nesnesinin, tamamindan erisilebilir olmasi gerekiyor. bu ise, uc sunucu sozkonusu iken pek oyle atla deve bir is degilken sunucu sayisi yuzlere eristiginde ciddi dert haline gelecektir. operasyonel zorluklarinin disinda, bir kullaniciya ait session'in diger sunuclarda da bulunmasinin getirdigi gereksiz hafiza kullanimi ise ikinci derttir.

    bu yuzden scalable uygulamalarda session kullanmak hic efektif degil.

    onun yerine cookie kullanarak cok daha kolay scale edebilecek ve cok daha efektif bir cozumu su sekilde saglayabilirsiniz.

    kullanici login oldugunda bir cookie olusturarak, icerisine unique bir degisken atayin. bu degisken kullanicinin sunucu tarafindaki nesnelerine referans olacak bu yuzden unique olmali. sonucta cookie kullanici tarafinda durdugu icin, kullanici bunu degistirerek baska bir kullanicinin bilgilerine erisebilir [pratikte cok zor olmasina ragmen, teoride mumkun] bunu engellemek icin soyle bir sey yapabilirsiniz. kullanici ilk yaratildiginda iki tane uuid olusturun. bir tanesi kullanicinin unique id degiskeni, cookie'ye gonderdigimiz degisken de bu. digeri ise bu degiskeni encrypt etmek icin kullandigimiz key olsun. bu iki degiskeni sunucu tarafinda persistence store'da tutun. cookie yaratilirken ikinci uuid ile ilk uuid'yi encrypt edin ve cookie'ye hem uuid'nin clear text halini hem de encrypt edilmis halini gonderin. kullanicidan her istek geldiginde de bu iki degiskenin birbiri ile tutarli olup olmadigini kontrol edin. boylece herhangi bir atagin onune gecmis olursunuz.

    bunun disinda, kullanicinin uuid'si ve ona ait diger bilgileri bulundugu nesneyi de bir key-value store'da tum web/uygulama sunucularin erisebilecegi sekilde tutarsaniz hem db'ye erisimi azaltmis hem de cache layer hafizada bulundugu icin cok hizli bir sekilde erismis olursunuz.

    bu tip bir yapiyi scale etmek icin yapacaginiz tek sey yeni sunucu eklemek ve cache layer'a erisimini saglamak. hic bir sekilde baska bir cluster islemi ile ugrasmamis olursunuz. ayni sekilde herhangi bir sekilde bir web/uygulama sunucusu cokerse kullanici bilgileri cache layer'da durdugu icin veri kaybi olmayacak, kullanici baska bir sunucuya eristiginde bilgilerine ayni sekilde ulasabilecektir.
  • the sopranos'un 59. bölümünün* finalinde çalan şarkı..
  • web sitesi gelistirmede scalable kabul edilmez session mantigi cunku her user'in son page request'inden sonraki 10-30 dakika boyunca session nesnesi hafizada kalir. bu bir nesne icin cok uzun bir yasama suresidir, insan omruyle 30,000 yila denk gelir. halbuki onun yerine session icerigi yeniden olusturulsa ve bir cache'e bagli olsa, cache site yogunluguna gore session nesnesini cok daha uzun yasatabilecegi gibi cok daha erken de hafizadan atabilir hatta hafizada hic session nesnesi olmadan koca site calismaya devam edebilir site ustundeki yuke gore. session'in isgal ettigi hafiza da sitenin kullanimina kalir boylece.
  • meteora albümünün güzide enstrümantel parçası.
  • linkin park tarafından yazılan ve yapımcılığını don gilmore ile birlikte üstlendikleri şarkı. şarkının müziğine ünlü japon dj lerden kenji kobayashi ve rob bourdon da destek vermiştir.
    kapalı ve yağmurlu havalarda arabanın içinde dinlediğinizde hele de kalabalıklar içerisinde yol almaya çalıştığınızda veyahut kırmızı ışıkta beklediğinizde kendinizi the matrix'ten çıkıpta tekrar içeri geri girmiş hissiyatı verebilen bir şarkıdır.
  • .net'te varsayılan timeout süresi 20 dk olan oturum nesnesi. bu değeri programatik olarak ya da web.config üzerinden artırmak veya azaltmak mümkün.
  • the sopranos - session

    the sopranos s05e07'nin sonuna efsane yakışan parça.
  • linkin park'ın meteora albümünün 12. parçası. bir önceki albümdeki* cure for the itch tadındadır.
  • facebook iframe application'da form post ederken eger ki facebook api ustunden userid gibi verilere erismeye kalkarsaniz hayatiniz bir anda kabusa donuverir. (form submit sirasinda post ettiginiz sayfaya giderken api'in call'u yuzunden arada bir sayfaya daha redirect edilir sonra post ettiginiz sayfaya gidersiniz, bu arada post ettiginiz data da ucar.)

    sonra gerekenleri session'a atarsiniz, yeniden bayram olur.

    ha iste session hayati bayram edendir.

    -seni dispose ederler ogul, abandon ederler-
hesabın var mı? giriş yap