2009-01-28 16 views
5

Senaryo:ASP.NET oturum durumu sunucusu ölçeklendirme

web sitesi her biri üzerinde IIS kullanarak üç sunucularında barındırılmaktadır.

Her üç sunucuların

Her üç siteler "devlet server" olarak atanmış ayrı bir sunucu üzerinde oturum durumunu saklamak için yapılandırılan 2003.

Windows Server ile birlikte gelen yazılım, Ağ Yükü Dengeleme kullanılarak kümelenir .

"Durum sunucusu" nu büyütmem istendi. Birden fazla devlet sunucusuna sahip olabildiğim ve aralarında durumu eşitleyebilmenin bir yolu var mı? Bu yüzden, devlet sunucularından biri aşağı inerse, diğer kişi de devlet bilgisine hizmet edebilir mi?

cevap

6

Memcached için giderdim. Her bir web sunucusuna kurabilir ve ardından eklediğiniz her yeni web sunucusuyla ölçekleyebilirsiniz. Kodplex'te birkaç müşteriyi daha önce buldum.

+0

Memcached gerçekte sunucu grubundaki düğümleri senkronize halde tutar mı? Tek bir Hata Noktasını önlemek için, eşzamanlı kalmaları gerekir, böylece öğeler eklendiğinde veya çıkarıldığında tüm düğümler bilgilendirilir. – baretta

+0

evet, memcached içindeki d, dağıtılmış anlamına gelir; bu nedenle bilgileri kümenizdeki tüm düğümler arasında senkronize eder. – Nick

+0

Ah! Öyleyse, ASP.NET State Server, Memcached ile değiştirilebilir! http://stackoverflow.com/questions/290966/is-memcached-interchangeable-with-asp-net-state-server Korkarım Memcached düğümleri senkronize etmeyecek .. – baretta

8

Çalıştığım yerde bunun için Scale Out State Server kullanıyoruz ve işi harika yapıyor ve kurulumu son derece basit. Microsoft'un aynı zamanda Velocity adlı benzer bir ürün üzerinde çalıştığını biliyorum, ancak bununla ilgili herhangi bir deneyimim yok.

SOSS'un tek olumsuz tarafı bunun için ödeme yapmanız gerekmesidir - ancak satış ve destek ekibiyle etkileşimde bulunan harika deneyimlerden başka hiçbir şeyim yoktu. Lisansınızı bitirirseniz, bana bir iyilik yapın ve Gratis'ten Daniel'in size gönderdiğini bildirin;)

3

Dağıtılmış bir önbelleğe alma teknolojisi arıyorsunuz. Microsoft Hız, Microsoft tarafından dağıtılan örneklerin, varsayılan ASP.NET Oturum durumunun dağıtılabilmesi için Hız ile değiştirilmesinin bir örneğidir. Memcache gibi başka önbellek sağlayıcıları vardır.

Düzenleme: Geçerli saatle daha alakalı bilgiler için bu yanıtın güncellenmesi, bu tür işlevler, AppFabric ürünü ile Windows Azure'da yerleşik olarak bulunur. Bununla ilgili bazı kısa bilgiler burada görülebilir: Windows Server and Azure AppFabric virtual launch May 20th

+0

okuyun. Şimdi yıllar geçti ve sahip olduğumuz tek şey CTP. MS'den hangi desteği beklersiniz merak ediyorum? Ayrıca Velocity ekibi blogu oldukça uzun bir süredir oldukça başarılıydı ve bu da MS'nin projeyi çok uzak bir gelecekte öldürmeyecek mi diye merak ediyor. –

+0

@Piotr Velocity, Azure teknolojisinin bir parçası olan AppFabric'in öncüsüdür, alıntı: http://www.hanselman.com/blog/WindowsServerAndAzureAppFabricVirtualLaunchMay20th.aspx Buradaki cevabı güncelledim –

+0

Güncelleştirme için teşekkürler, ben düzeltilmiş beklemede :) –

0

Bir SQL sunucusundaki oturum veritabanı, küçük kod & yapılandırma değişiklikleriyle kolayca ölçeklendirilebilir. Asp.net oturumlarını bir oturum veritabanına yapıştırabilir ve çiftliğinizdeki web sunucusunun isteğine hizmet etmediğinden bağımsız olarak, oturum kimliği tabanlı sql state sunucu eşleştirmesi kusursuz çalışır. Bu, SQL sunucusunu kullanarak ASP.NET oturum durumunu ölçeklendirmenin en iyi yollarından biri olabilir. Daha fazla bilgi için, Hız şöyle bir sorun ortaya resmen piyasaya olmamıştı olmasıdır linki

True Scaleout model for session state

İlgili konular