2009-04-07 24 views
5

शुभ दोपहर, सब कुछ।आईआईएस वेब फार्म के लिए बुलेटप्रूफ सत्र

हम वर्तमान में एक वेब सर्वर से दो तक कूद कर रहे हैं और हमारे उपयोगकर्ताओं को सहज विफलता प्रदान करने के लिए हमें सत्र के बारे में कुछ करने की आवश्यकता है।

वर्तमान में, हम तीन अलग-अलग तरीकों की जांच कर रहे हैं। एसक्यूएल सर्वर

  • उपयोग करें
  • छुपी फ़ील्ड

    मैं में

  • चक सब कुछ, व्यक्तिगत रूप से, विकल्प नंबर देखना चाहेंगे एक राज्य सर्वर

    1. उपयोग करें एक हम के रूप में जगह में जाना विकल्प संख्या दो के लिए एक समर्पित डेटाबेस नहीं है और विकल्प संख्या तीन एक गन्दा हैक की तरह लगता है।

      मुझे वर्तमान में जिस समस्या का सामना करना पड़ता है वह यह है कि मेरा प्रबंधक किसी राज्य सर्वर द्वारा प्रदान की गई विफलता के एक बिंदु से खुश नहीं है (हमारे SQL सर्वर को दोहराया गया है, इसलिए कोई परेशानी नहीं है)।

      क्या ऐसा कुछ है जो राज्य सर्वर या कुछ ऐसे को प्रतिलिपि बनाने के बारे में किया जा सकता है?

  • उत्तर

    2

    कुछ और जांच के बाद हमने स्टेटसेवर विकल्प के साथ जाने का फैसला किया है। हम अभी भी देख रहे हैं कि स्टेटसर्वर पर विफलता के एक बिंदु को कैसे दूर किया जाए और हमने जांच के दो और मार्गों को बदल दिया है।

    हमारा पहला विकल्प सत्रों को संभालने के लिए किसी तृतीय पक्ष प्रोग्राम का उपयोग करना है। जिसे हम अभी देख रहे हैं उसे nCache कहा जाता है: मुझे लगता है कि स्केलऑट नामक एक और कहा गया है जिसे हम भी देख सकते हैं।

    विकल्प नंबर दो सत्र स्थिति paritioning उपयोग करने के लिए है और हम वर्तमान के साथ-साथ इस विकल्प में देख रहे हैं: http://msdn.microsoft.com/en-gb/magazine/cc163730.aspx

    1

    मेरे ज्ञान के लिए आपके स्टेटसर्वर सेवा का बैक अप लेने या दोहराने का कोई तरीका नहीं है। वेब फार्म में स्टेटसेवर का उपयोग करते समय एक और मुद्दा यह है कि यदि आपका क्लस्टर एक ही ब्राउज़र के लिए विभिन्न अनुरोधों पर विभिन्न मशीनों तक पहुंचने की अनुमति देता है तो उनके पास प्रत्येक अनुरोध पर अलग-अलग सत्र डेटा हो सकते हैं! (संपादित करें: मार्टिन ने नीचे बताया कि आप एकाधिक वेब सर्वरों के बीच एक एकल स्टेटसर्वर इंस्टेंस साझा करके इसे ठीक कर सकते हैं)। आपके उद्देश्यों के लिए विकल्प 2 या 3 अधिक गलती सहनशील होगा, और मैं एक और विचार में फेंक दूंगा: डेटा के छोटे टुकड़ों के लिए सत्र भंडारण के लिए कुकीज़ का उपयोग करने का प्रयास करें।

    +0

    होने एक राज्य सर्वर का मतलब है कि खेत में सभी सर्वरों तक पहुँच सकते हैं यह इतना विकल्प 1 ठीक होगा । मुझे लगता है कि आप "प्रक्रिया में" राज्य प्रबंधन के साथ भ्रमित हो रहे हैं। –

    +0

    आप बिल्कुल सही हैं, मैंने एक नज़र डाली और एक ही स्टेटसर्वर सेवा को वास्तव में कई वेब सर्वरों के बीच साझा किया जा सकता है। मैं सटीकता के लिए अपने उत्तर में एक संपादन कर दूंगा। इस पर ध्यान दिलाने के लिए धन्यवाद! –

    +0

    आप किसी अन्य आईआईएस पर जाने से बचने के लिए एनएलबी के भीतर ग्राहक संबंध का उपयोग कर सकते हैं। – MRFerocius

    0

    यह भी सुनिश्चित करें कि आप सत्र स्थिति संग्रहीत करने के लिए SQL सर्वर का उपयोग नहीं कर रहे हैं जो कि डेटाबेस से आता है। यदि ऐसा है, तो आप हर बार डेटाबेस को कॉल भी कर सकते हैं।

    1

    मुझे लगता है कि आप एक और आर्किटेक्चर में जा रहे हैं: एक से अधिक फ्रंट एंड आईआईएस।

    क्या आप एनएलबी का उपयोग करने जा रहे हैं?

    • यदि ऐसा है, तो आपका सबसे अच्छा विकल्प राज्य सर्वर का उपयोग करना है, यह अवधारणा में एक अनुप्रयोग सर्वर के रूप में खेलेंगे।

    यहां मेरी कंपनी में हम नेटवर्क लोड संतुलन के साथ दो आईआईएस में .NET ऐप माइग्रेट कर रहे हैं, और एप्लिकेशन प्रो में सत्र प्रबंधन के लिए उपयोग करते हैं।

    हम जांच की है एक और विकल्प नहीं है:

    • , NLB विन्यास में ग्राहक संबंध का उपयोग कर पोस्टबैक आईआईएस जहां प्रक्रिया जनरेट किया गया था करने के लिए वापस जाने के लिए अनुमति देता है, कीमत सभी ढीला करने के लिए था NLB ...

    माइक्रोसॉफ्ट सलाहकार के बाद, सबसे अच्छा विकल्प राज्य सर्वर :)

    आशा है कि यह मदद करता है था!

    सर्वश्रेष्ठ सादर!

    3

    यह दर्द हो सकता है, लेकिन मैंने सत्र बंद करने और परिणामों से निपटने का फैसला किया है। अब तक कुछ भी असंभव नहीं हुआ है।

    +0

    हां, यदि आप इससे दूर हो सकते हैं, तो यह हमारे यहां मौजूद सभी चर्चाओं को छोड़ देता है और सीधे और अधिक मजबूत और बेहतर प्रदर्शन करने वाले समाधान पर छोड़ देता है। –

    संबंधित मुद्दे