2011-03-22 12 views
10

मैं विंडोज़ एज़ूर पर चल रहे एमवीसी वेब एप्लिकेशन के लिए वैश्विक डेटा का उपयोग करना चाहता हूं (उदाहरण के लिए नए संदेशों वाले उपयोगकर्ताओं की सूची की तरह कुछ)।Azure उदाहरणों के बीच राज्य कैसे साझा करें?

एक सामान्य वेबपैप के लिए, मैं कुछ प्रति-एपडोमेन स्टोरेज जैसे AppDomain.SetData या केवल स्थिर चर का उपयोग कर सकता था। इसके बजाय मुझे Azure के लिए क्या उपयोग करना चाहिए (कैश? ब्लॉब स्टोरेज? कतार?) और सबसे तेज़ समाधान क्या होगा?

उत्तर

5

AppFabric कैश है भूमिकाओं (या एक ही भूमिका के उदाहरण) के बीच डेटा साझा करने के लिए एक उत्कृष्ट फिट। ऐपफैब्रिक कैश के बारे में दिलचस्प बात यह है कि यह केवल एएसपी.नेट सत्र राज्य पर लागू नहीं होता है - वहां कैश के ऊपर बैठे एएसपी.NET सत्र राज्य प्रदाता के बाहर बस-बाहर-द-बॉक्स होता है।

कैश का उपयोग लगभग मामूली है। यहाँ एक कमांड लाइन सांत्वना अनुप्रयोग डेमो से एक टुकड़ा है:

var dataCacheFactory = new DataCacheFactory(); 
DataCache dataCache = dataCacheFactory.GetDefaultCache(); 

Console.Write("Enter a string to cache: "); 
string value = Console.ReadLine(); 

dataCache.Put("key", value); 

string response = (string)dataCache.Get("key"); 
Console.WriteLine("Cached string: " + response); 

एक सत्र स्थिति प्रदाता के रूप में इसका इस्तेमाल करते हुए शून्य कोड बदलाव की आवश्यकता है - यह सब app.config/web.config के द्वारा संचालित है।

vtortola एपफ़ैब्रिक कैश सीटीपी में होने के बारे में एक अच्छा बिंदु बनाता है, लेकिन हमें यह देखना चाहिए कि निकट अवधि में उत्पादन में।

टेबल संग्रहण आपके प्रश्नों की जटिलता के आधार पर भी काम करेगा। ऐसा लगता है जैसे आपके प्रश्न अपेक्षाकृत सरल होंगे।

चूंकि मूल्य निर्धारण अभी तक ऐपफैब्रिक कैश के लिए घोषित नहीं किया गया है, यह आपके निर्णय बनाम बना सकता है, कहें, टेबल स्टोरेज जो $ 0.15/जीबी प्लस संबंधित लेनदेन चलाता है (हालांकि लेन-देन की संभावना आपके पर कोई ध्यान देने योग्य प्रभाव नहीं होगी प्रति 10,000 लेनदेन $ 0.01 पर लागत)।

संपादित करें 7 जून, 2012 मूल्य निर्धारण की जानकारी मूल जवाब के बाद से बदल गया है:

  • कैश सेवा उत्पादन में है, और (पूर्ण मूल्य निर्धारण विवरण here) 128MB के लिए $ 45 पर शुरू होता है।
  • लेनदेन अब $ 0.01 प्रति 100,000 लेनदेन हैं, भंडारण $ 0.125 प्रति जीबी से शुरू हो रहा है और मात्रा के आधार पर गिर रहा है (विवरण के लिए here देखें)।
  • अब एक नई कैश क्षमता है जो आपके वेब या वर्कर रोल इंस्टेंस के भीतर सक्षम हो सकती है, उपलब्ध रैम के प्रतिशत का उपयोग करके, और शून्य की लागत। आप एक स्वतंत्र कैश भूमिका भी बना सकते हैं। इन दोनों को ब्रांड नए एसडीके v1.7 के साथ समर्थित हैं। नई सुविधाओं (कैश समेत) के बारे में स्कॉट गुथरी blogged
+1

ऑफटॉपिक: ऐपफैब्रिक कैश समरूपता का प्रबंधन कैसे करता है? – vtortola

2

मुझे लगता है कि टेबल संग्रहण करेगा, लेकिन हो सकता है कि ऐपफ़ैब्रिक कैशिंग सेवा आपको जो चाहिए, उसके आधार पर बेहतर फिट हो, लेकिन याद रखें कि यह अंतिम अभी भी सीटीपी में है।

जो भी आप कहते हैं, मैं टेबल संग्रहण के साथ जाऊंगा। उपयोगकर्ता आईडी द्वारा विभाजित तालिका में अंतिम संदेश पुनर्प्राप्त करने जैसे कुछ करें और डेटटाइम द्वारा की गई बहुत तेज है।

चीयर्स

8

"उपयोगकर्ता डेटा प्रति", तो आप ASP.Net सत्र वस्तु इस्तेमाल कर सकते हैं के लिए।

सत्र को कई भूमिकाओं में काम करने के लिए, आपको web.config में एक क्रॉस-प्रोसेस सत्र प्रदाता निर्दिष्ट करने की आवश्यकता है। माइक्रोसॉफ्ट

के लिए "वैश्विक राज्य स्मृति", तो मैं निश्चित रूप से ऐप फैब्रिक कैशिंग की सिफारिश करता हूं या कुछ समुदाय योगदान हैं - उदाहरण के लिए http://www.davidaiken.com/2011/01/11/windows-azure-memcached-plugin/

यदि आपका डेटा की निरंतरता महत्वपूर्ण नहीं है, तो आप हमेशा से ही प्रति-उदाहरण कैशिंग स्मृति में उपयोग कर सकते हैं memcached - यह सबसे तेजी से मार्ग होगा और अंत में संगत हो जाएगा ...

+1

तालिका भंडारण प्रदाता, पिछली बार मैंने चेक किया, नवीनतम एसडीके के लिए संशोधन के बिना निर्माण नहीं करेगा। मैं इसकी सिफारिश नहीं करता। –

+2

टेबल स्टोरेज प्रदाता से अच्छी तरह से दूर रहें, यह सिर्फ एक नमूना है और इसमें गंभीर सहमतिएं हैं। जब तक ऐप फैब्रिक कैशिंग सीटीपी से बाहर नहीं है, तो SQL सत्र प्रदाता का उपयोग करें। http://stackoverflow.com/questions/4937544/asp-net-session-state-provider-in-azure – knightpfhor

0

ऐपफ़ैब्रिक कैश पुरानी सेवा है ... नए विकास के लिए Azure Redis कैश का उपयोग करें।

+0

क्या यह एक उत्तर या टिप्पणी है? – RBT

+0

यह एक कानूनी जवाब है, रेडिस अब Azure के माध्यम से जाने का रास्ता है – Porschiey

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