2010-11-10 30 views
7

Tüm site verilerini HttpRuntime.Cache numaralı web sitesinde saklayan bir web uygulamasına sahibiz.HttpRuntime.Cache'i birden çok web sunucusu arasında paylaşmak mümkün mü?

Artık uygulamayı 2 adet yük dengeli web sunucusunda dağıtmamız gerekiyor.

Bu durumda, her web sunucusu kendi önbelleğine sahip olacaktır, bu da ideal değildir, çünkü bir kullanıcı web sunucusu1'den veri isterse önbelleğe alınacaktır, ancak bir sonraki istek web sunucusuna2 ve önceki sürümlerine gidebilir. istek önbelleğe alınamayacak.

HttpRuntime.Cache'u iki web sunucusu arasında paylaştırmak ya da önbelleği aralarında çoğaltmak için bir önbellek sağlayıcısı kullanmak mümkün müdür, aynı önbellek her iki web sunucusunda da kullanılabilir mi? Eğer öyleyse, bu sorunu çözmek için ne yapabilirim?

cevap

6

Hayır, yerleşik ASP.NET önbelleğini paylaşamazsınız, ancak bunun yerine memcached veya AppFabric gibi bir şey kullanabilirsiniz.

0

Oraya gitme. Normalde, önbellek statik bir nesnedir, yalnızca AppDomain'de yaşar. Bunları manuel olarak güncellemek, bir acı dünyasıdır ve şiddetle tavsiye eder.

Bu tür bir amaç için sunucunuzun önünde bulunan çeşitli önbellek çözümlerini kullanabilirsiniz.

1

Hayır, bu mümkün değil. Microsoft AppFabric Caching ya da çok popupar açık kaynak ürünü memcached gibi adlandırılmış önbelleğe alınmış önbellek kullanmanız gerekir.

0

Sorunuz, kullanıcı verilerini önbelleğe aldığınızdan geliyor? Bu durumda Aliostad ile birlikte olacağım ve oraya gitmeyin diyeceğim!

önbellek, temel amacı aksi olursa olsun kullanıcının her istek üzerine oluşacak veritabanı hit önlenmesi gerektiğini veritabanından gelen statik fakat düzenli kullanılan öğeler için kullanılması gerektiğini http çalışma zamanı

... Bir seçenekler gibi şeyler böylece combobox veya certian yapılandırma ayarları

Eğer gerçekten o zaman Memcached, AppFabric'in üstünde veya NVelocity gibi kullanıcı verileri için önbelleğe alma, gerekmiyorsa

sadece 2 ağ sunucusunun sahip farklı ihtiyaçlar için uygun önbelleğe alma katmanları, Orada henüz yok öneriliyor.Audi vardır Yukarıdaki Dağıtılmış önbellek çerçevelerini gerektirir.

Sunucu yükü nedir ve sınırlayıcı faktör nedir, CPU, RAM, Ağ Bant genişliği nedir? DB'nizde veya web sunucularınızda mı? Bunların her biri farklı bir önbellekleme stratejisini gösterir.

İlgili konular