سؤال

سيناريو:

تم استضافة الموقع على ثلاثة خوادم باستخدام IIS على كل.

يتم تجميع جميع الخوادم الثلاثة باستخدام برنامج موازنة تحميل الشبكة الذي يأتي مع Windows Server 2003.

تم تكوين جميع المواقع الثلاثة لتخزين حالة الجلسة على خادم منفصل تم تعيينه على أنه "خادم حالة".

لقد طُلب مني توسيع نطاق "خادم الحالة". هل هناك طريقة يمكنني من خلالها الحصول على أكثر من خادم حكومي واحد ومزامنة الحالة بينهما ، لذلك إذا انخفض أحد خوادم الدولة ، فسيتمكن الآخرون من خدمة معلومات الحالة؟

هل كانت مفيدة؟

المحلول

سأذهب إلى memcached. يمكنك إعداده على كل من خوادم الويب وبعد ذلك يمكنك قياسه مع كل خادم ويب جديد تضيفه. لقد وجدت اثنين من العملاء على codeplex من قبل.

نصائح أخرى

نحن نستخدم توسيع نطاق خادم الحالة لهذا المكان الذي أعمل فيه ، وهو يقوم بالوظيفة بشكل رائع ويتأت سهلة الإعداد. أفهم أن Microsoft تعمل أيضًا على منتج مشابه يسمى السرعة الاتجاهية, ، لكن ليس لدي أي خبرة معها.

الجانب السلبي الوحيد لـ SOSS هو أنه عليك أن تدفع ثمنها - لكن لم يكن لدي سوى تجارب رائعة تتفاعل مع فريق مبيعاتها ودعمها. إذا انتهى بك الأمر إلى الترخيص ، فابحث لي معروفًا وأخبرهم أن دانيال من دون مقابل أرسل لك ؛)

أنت تبحث عن تقنية التخزين المؤقت الموزعة. Microsoft Velocity هي واحدة لديها أمثلة نشرها Microsoft لاستبدال حالة جلسة ASP.NET الافتراضية بسرعة يمكن توزيعها. هناك مقدمو خدمات التخزين المؤقت الأخرى مثل Memcache.

يحرر: تحديث هذه الإجابة للحصول على معلومات أكثر صلة بالوقت الحالي ، يتم دمج هذا النوع من الوظائف في Windows Azure مع منتج AppFabric. يمكن رؤية بعض المعلومات الموجزة حول هذا هنا: Windows Server و Azure AppFabric Virtual Launch 20 مايو

يمكن بسهولة توسيع نطاق قاعدة بيانات الجلسة على خادم SQL باستخدام تغييرات الكود والتكوين الصغيرة. يمكنك التمسك بجلسات ASP.NET إلى قاعدة بيانات جلسة وبغض النظر عن خادم الويب في مزرعتك ، يخدم الطلب ، يعمل خادم SQL State Server المستند إلى معرف الجلسة. ربما تكون هذه واحدة من أفضل الطرق لتوسيع نطاق حالة جلسة ASP.NET باستخدام SQL Server. لمزيد من المعلومات ، اقرأ الرابط

نموذج Scaleout الحقيقي لحالة الجلسة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top