2012-12-01 9 views
5

मैं विंडोज़ एज़ूर में नए प्रस्तावों में से एक की जांच कर रहा था। विशेष रूप से "वेबसाइट्स" और मैं इस बारे में कुछ भी नहीं ढूंढ पा रहा हूं कि यह सत्र डेटा को कैसे प्रबंधित करता है। क्या कोई जानता है? मैंने स्लाइडर को 2 उदाहरण तक ले जाया और यह सब "बस काम" लगता है, लेकिन अगर मैं निश्चित रूप से जानता था कि यह सत्र डेटा साझा कर रहा था (या नहीं?)विंडोज़ एज़ूर वेबसाइटों को सत्र कैसे संभालती है?

+0

इस वेबसाइट के बारे में मेरे उत्तर पर आपकी पिछली टिप्पणी के लिए, मैं सहमत हूं ... मैंने नहीं देखा है "लेकिन यह क्या है?" वास्तव में क्या चल रहा है पर स्पष्टीकरण ... प्रत्येक व्यक्ति के पास 3 उदाहरण पिछले सत्र सत्र को स्केल करने के तरीके पर समान 3 उत्तरों हैं। मैं अब भी उत्सुक हूं और अजीब वेबसाइटों के "यह क्या है" पहलू का शोध कर रहा हूं। – Rikon

+1

यदि आप विंडोज़ एज़ूर वेब साइट्स के आर्किटेक्चर के बारे में और जानना चाहते हैं, तो मैं टेकएड 2012 [विंडोज़ एज़ूर वेब साइट्स: हूड के तहत] से इस सत्र को देखने का सुझाव दूंगा (http://channel9.msdn.com/Events/ टेकएड/यूरोप/2012/एजेडआर 305) –

+0

@ सिंटेक्स सी 4 वीडियो पर अच्छी कॉल, यह उल्लेख किया गया है कि यह कुकी द्वारा चिपचिपा था। आपको इसे उत्तर में बदलना चाहिए ताकि मैं इसे – iamkrillin

उत्तर

5

आप Windows Azure वेब साइटों की वास्तुकला के बारे में अधिक जानने के लिए चाहते हैं, तो मैं TechEd 2012 Windows Azure Web Sites: Under the Hood

+0

वह वीडियो बहुत उपयोगी था, यह पता चला कि सत्र कुकी – iamkrillin

+3

द्वारा चिपचिपा है फिर भी यह स्पष्ट नहीं है कि सत्र डेटा स्वचालित रूप से कई उदाहरणों के बीच साझा किया जाता है या नहीं। – ogggre

+1

इसे साझा नहीं किया गया –

-1

कितनी वेब भूमिकाएं करते हैं आपके पास? यदि आप इसे 1 तक रखते हैं तो आपको ठीक होना चाहिए, लेकिन आप विवरण here पढ़ सकते हैं कि एक ही सत्र स्थिति की समस्याएं बनाने के लिए कितनी वेब भूमिकाएं चल रही हैं, यदि आप वेब फार्म चला रहे थे ... वेब चलाते समय फार्म एक विकल्प आपके डीबी में सत्र स्थिति रख रहा है। तो जैसा कि आप कल्पना कर सकते हैं, अगर आपको कई वेब भूमिकाएं चलाने की ज़रूरत है तो आप एसक्यूएल एज़ूर (हालांकि टेबल स्टोरेज वास्तव में अच्छा है, और संभवतः सत्र स्थिति जैसे कुछ के लिए एक उपयुक्त फिट)

लेकिन अधिक सीधे जवाब देने के लिए प्रश्न, आप प्रोसेसिंग लोड वितरित करने के लिए कई वेब भूमिकाओं का उपयोग कर सकते हैं, और web role सिर्फ "फ्रंट-एंड वेब एप्लिकेशन और आईआईएस के अंदर होस्ट की गई सामग्री" है। तो फिर, यदि आप केवल एक वेब भूमिका का उपयोग कर रहे हैं तो आपका ऐप शायद ठीक काम कर रहा है। लेकिन केवल जागरूक रहें कि यदि आपको कभी भी अपनी वेब भूमिकाओं को स्केल करने की आवश्यकता है, तो यह आपके सत्र की दृढ़ता को दूर करेगा।

+0

स्वीकार कर सकूं जब तक कि मैं शब्दावली के बारे में उलझन में नहीं आ रहा हूं, आपके द्वारा लिंक किए गए लेख "क्लाउड सर्विसेज" पेशकश पर चर्चा करते हैं, न कि "वेबसाइट्स"। यहां देखें: https://www.windowsazure.com/en-us/manage/services/web-sites/ बनाम https://www.windowsazure.com/en-us/manage/services/cloud-services/ – iamkrillin

+0

बह , तुम सही हो ... तो तुमने कुछ अलग नहीं किया और यह काम किया? मैंने सोचा था कि आपको एक सत्र राज्य प्रदाता का उपयोग करने की आवश्यकता है (जो अनिवार्य रूप से एज़ूर के कैशिंग तंत्र का उपयोग करेगा) – Rikon

+0

क्लाउड सर्विसेज का उपयोग करते समय मुझे निश्चित रूप से पता है, लेकिन मैंने वेबसाइट पर कुछ भी नहीं किया और यह काम करना प्रतीत होता था। यह लगभग आसान लग रहा था .. – iamkrillin

1

क्या आप एएसपी.NET 4.5 को लक्षित कर रहे हैं?

यदि आप 4.5 के साथ किसी भी प्रदाता को स्पष्ट रूप से कॉन्फ़िगर नहीं करते हैं, तो यह ASP.NET यूनिवर्सल प्रदाता का उपयोग करने के लिए डिफ़ॉल्ट होगा जो अब Machine.config में शामिल हैं। तो यह डिफ़ॉल्ट रूप से एक SQL सत्र राज्य प्रदाता का उपयोग करेगा। मैं उम्मीद करता हूं कि यह स्थानीय डीबी का उपयोग करे, इसलिए मुझे यकीन नहीं है कि यह राज्य को कैसे साझा करेगा।

आप कुछ सत्र खोलकर इसका परीक्षण कर सकते हैं, फिर उदाहरणों की संख्या वापस ले जा सकते हैं और देख सकते हैं कि कुछ सत्र राज्य खो देते हैं या नहीं।

लोड बैलेंसर सत्र संबंध का उपयोग कर सकता है, इस मामले में, आपको नोटिस नहीं हो सकता है कि यह सत्र स्थिति साझा नहीं कर रहा है या नहीं।

4

आप इस समस्या को हल करने के लिए कुछ विकल्प हैं

  1. एसक्यूएल समाधान

  2. तालिका भंडारण समाधान

  3. मेम्कैश समाधान

Sql क्लासिक solutio है एन। एसक्यूएल क्लासिक एसक्यूएल अनुरोधों के साथ सभी सत्रों को संभालता है।

तालिका भंडारण आश्चर्यजनक काम करता है (मेरे अनुभव में)। इसे स्केल करना वास्तव में आसान है और कार्यान्वित करने में वास्तव में आसान है (केवल आपके वेब कॉन्फिगर पर कोड की कुछ पंक्तियां)।

Memcache समाधान सबसे अच्छा समाधान है। Azure सत्र (या अन्य serializable वस्तुओं) स्टोर करने के लिए "कैश सर्वर" का एक समूह प्रदान करता है। स्केल करना वाकई आसान है और वास्तव में वास्तव में तेज़ काम करता है। मैं इस समाधान का उपयोग अपने उत्पादन वातावरण पर 0 समस्याओं और वास्तव में अच्छे प्रदर्शन परिणामों के साथ कर रहा हूं।

मेमकैच को लागू करने के लिए, आपको बस उन पंक्तियों को अपने वेब पर जोड़ना होगा।config:

<configuration> 
    <configSections>   
     <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere"/> 
     <!-- more config sections here --> 
    </configSections> 
    <dataCacheClients> 
    <dataCacheClient name="default"> 
     <hosts> 
     <host name="YOUR_NAME_HERE.cache.windows.net" cachePort="YOUR_PORT_HERE"/> 
     </hosts> 
    <securityProperties mode="Message"> 
      <messageSecurity authorizationInfo="YOUR_KEY_HERE"> 
          </messageSecurity> 
      </securityProperties> 
    </dataCacheClient> 
</dataCacheClients> 
<!-- more configurations here --> 

सारांश

आप लागत के बारे में परवाह नहीं करते हैं और आप सबसे अच्छा प्रदर्शन संभव archieve करना चाहते हैं, मेम्कैश समाधान के लिए जाना। यदि आपको अपनी लागतें वास्तव में कम रखने की आवश्यकता है, तो टेबल संग्रहण के लिए जाएं।

2

से इस सत्र देख के बाद से सुझाव है कि लिंक किया गया वीडियो ऊपर काफी पुराना हो चुका है, मैंने सोचा था कि मैं करूंगा Azure पर सत्रों के बारे में जो मैं ढूंढ सकता था उसे साझा करें।

Azure Application Request Routing का उपयोग करता है।

ARR चतुराई से जो सर्वर उदाहरण वे करने के लिए बात कर रहे थे करने के लिए उन्हें एक विशेष कुकी (एक आत्मीयता कुकी के रूप में जाना जाता है), जो यह जानना आवश्यक है की अनुमति देता है अनुवर्ती अनुरोधों पर देकर उपयोगकर्ताओं को जोड़ने का ट्रैक, रहता है। इस तरह, हम यह सुनिश्चित कर सकते हैं कि एक बार ग्राहक एक विशिष्ट सर्वर उदाहरण के साथ सत्र स्थापित करता है, जब तक कि उसका सत्र सक्रिय न हो, वह उसी सर्वर से बात करता रहेगा।

संदर्भ: https://azure.microsoft.com/en-us/blog/disabling-arrs-instance-affinity-in-windows-azure-web-sites/

+0

आपकी जानकारी वास्तव में उपयोगी टीएनएक्स थी। –

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