Yük dengeleyicilerle yapışkan oturumların dezavantajı nedir?


13

Harika çalışan IIS7 makinelerinden oluşan bir web grubumuz var. Önlerinde de iyi çalışan bir F5 Big-IP donanım yük dengeleyici var :)

alternatif metin
(kaynak: www.f5.com )

Şu anda OutProcASP.NET State Service durumumuzu idare etmek için bir kullanıyoruz . Bu, herhangi bir oturum bilgisini korumak için bir web grubunuz olduğunda gereklidir.

Ben F5 Big-IP üzerinde yapışkan oturumlar olabilir ve bu nedenle OutProc geri InProc değiştirmek merak ediyordum ? Eğer öyleyse, bunun dezavantajı nedir? InProc'un OutProc'a karşı dezavantajını biliyorum, bu yüzden bunu açıklama konusunda endişelenmeyin. F5 Big-IP ile yapışkan oturumların artıları / eksileri ile daha fazla ilgileniyorum .

Biraz ışık ve / veya tecrübe bırakan var mı?

Yanıtlar:


15

İki ana dezavantajı vardır:

  1. Yükünüz eşit olarak dağıtılmamış. Yapışkan oturumlar, dolayısıyla adı yapışacaktır. İlk istekler eşit olarak dağıtılacak olsa da, diğer kullanıcılardan daha fazla zaman harcayan önemli sayıda kullanıcı elde edebilirsiniz. Bunların tümü başlangıçta tek bir sunucuya ayarlanmışsa, o sunucunun çok daha fazla yükü olur. Genellikle, bu gerçekten büyük bir etkiye sahip olmayacaktır ve kümenizde daha fazla sunucu olmasıyla azaltılabilir.

  2. Proxy'ler, kullanıcıları tek bir sunucuya gönderilecek olan tek IP'lere bağlar. Bu, tipik olarak herhangi bir sunucu yükünü arttırmaktan başka bir zarar vermese de, proxy'ler kümede de çalışabilir. F5'inize böyle bir sistemden gelen bir istek, istek proxy kümelerindeki farklı bir proxy sunucusundan çıkarsa aynı sunucuya geri gönderilmeyebilir.

AOL bir noktada proxy kümeleri kullanıyordu ve yük dengeleyicileri ve yapışkan oturumlarla gerçekten çok sıkıldı. Çoğu yük dengeleyici, artık C-Sınıfı net aralıklara dayalı yapışkan oturumlar veya F5 durumunda, son düğümü bir web isteği çerezinde saklayan çerez tabanlı yapışkan oturumlar sunacaktır.

Çerez tabanlı oturumların çalışması gerekirken, onlarla bazı sorunlar yaşadım ve genellikle IP tabanlı oturumları seçtim. BÜYÜK ANCAK: Çoğunlukla dahili uygulamalar üzerinde çalışıyorum - DMZ göçü değişebilir.

Tüm bunlar ifade edildiğinde, yapışkan oturumlar ve In-Proc oturumları ile F5'in ardında çalışan sitelerle büyük bir başarı elde ettik.

Ayrıca , SQL'de veya proc bellek hizmetinde saklanan oturuma alternatif olarak Memcached veya Velocity gibi bellekte dağıtılmış önbellek sistemlerinden birine göz atmak isteyebilirsiniz . Birden fazla sunucuda çalıştırabilme özelliği ile pro-pro bellek hızına yaklaşırsınız.


CPU'nun yanı sıra, bir sunucunun çok fazla vuruş / meşgul olup olmadığını görmek için Windows 2008 makinesinde geçerli bağlantıları ve / veya bant genişliğini yerel olarak kontrol etmenin yolları var mı? Temel olarak, sunucuların patlamamasını sağlamak için hangi metrikleri kullanıyorsunuz?
Pure.Krome

Yapışkan IP ve yapışkan çerez oturumlarının bir karışımını bir süre önce kullandık ve düzensiz dağılım bulduk, ama korkunç değil. AOL proxy kümesi IP kümelemesi için bir kabustu ve istisnaları sabitlemek zorunda kaldık.
ericslaw

Yerel Perf Sayaçları etkin HTTP bağlantıları gösterir.
Christopher_G_Lewis

@Christopher_G_Lewis F5'te çerez tabanlı oturumlarda yaşadığınız sorunları biraz ayrıntıya sokmak ister misiniz?
Eugene Beresovsky


4

Christopher'ın mükemmel cevabına ek olarak, yapışkan oturumlar, gereksiz sunucuların birkaç büyük avantajını kaybettiğiniz anlamına gelir - bakım için bir veya daha fazla aşağı çekme yeteneği ve sistem arızası karşısında şeffaflık.

Yapışkan oturumların zayıf uygulama mimarisinin ve / veya zayıf programlamanın güçlü bir göstergesi olduğunu düşünüyorum. "Her ne pahasına olursa olsun kaçının" sloganımdır.


Bakım hakkında mükemmel düşünceler. Sunucudan bir DRAIN'i kümeden çıkarmadan çok önce atarız. DRAIN, geçerli oturumların işlendiği anlamına gelir, ancak bu sunucuda yeni oturum başlatılmaz.
Christopher_G_Lewis

Neyse ki hiç kimse kısa sürede bir bakım yapmak zorunda kalmaz, ne de bir sunucu beklenmedik bir şekilde ölmez (bu sunucuya yapışan tüm oturumların aniden işe yaramaz olmasına neden olur - bahis müşterilerinin bunu sevdiğine eminim).
womble

U F5 üzerinde herhangi bir yapılandırma yapmadan bir sunucudan BOŞALTABİLİR MİSİNİZ? Temel olarak, F5'e erişimimiz yok (yönetilen bir barındırma senaryosunda bizim için yönetiliyor) .. ama web sunucularımıza tam erişimimiz var .. yani bir web sitesinde bir dosya veya bir şey bırakarak BOŞALTABİLİR MİSİNİZ?
Pure.Krome

F5'lerimiz web sitesindeki bir metin dosyası aracılığıyla sunucu yukarı / sunucu aşağı / boşaltma belirler - dosyanın bağlamı "YUKARI / AŞAĞI / BOŞALTMA" dır. Neye baktıklarını belirlemek için IIS günlüklerinizi inceleyin. Bazen F5'in bir TCP / IP bağlantı noktasında SYN / ACK yaptığını unutmayın; bu durumda barındırıcınızın F5'in yapılandırmasını değiştirmesi gerekir.
Christopher_G_Lewis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.