ASP.NET के लिए धूमकेतु कार्यान्वयन? [बन्द है]


103

मैं एक ब्राउज़र के अंदर जीमेल-जैसे संदेश को लागू करने के तरीकों को देख रहा हूं, और धूमकेतु अवधारणा पर पहुंचा हूं । हालाँकि, मैं एक अच्छा .NET कार्यान्वयन नहीं खोज पाया हूँ जो मुझे IIS के भीतर ऐसा करने की अनुमति देता है (हमारा आवेदन ASP.NET 2.0 में लिखा गया है)।

मैंने जो समाधान पाया (या उस मामले के लिए सोच सकता था) को प्रति उपयोगकर्ता एक रनिंग थ्रेड छोड़ने की आवश्यकता है - ताकि यह एक संदेश मिलने के बाद उसकी प्रतिक्रिया वापस कर सके। यह बिल्कुल, पैमाने पर नहीं है।

तो मेरा सवाल है - क्या आप एक अलग तरीके से काम करने वाले धूमकेतु के लिए ASP.NET कार्यान्वयन के बारे में जानते हैं? क्या यह IIS के साथ भी संभव है?


12
मुझे लगता है कि प्रारंभिक एमएस-धन्य कार्यान्वयन सिग्नलआर है: hanselman.com/blog/…
user423430

Node.JS अब Azure पर समर्थित है, जल्द ही 2003 में IIS का समर्थन किया जाएगा। इसका मतलब है कि हम IIS ( windowsazure.com/en-us/develop/nodejs ) के भीतर धूमकेतु सर्वर को चलाने में सक्षम होंगे
goodguys_activate

जवाबों:


44

धूमकेतु की लगातार कनेक्टिविटी के कारण कॉमेट IIS के साथ बड़े पैमाने पर चुनौतीपूर्ण है, लेकिन अब धूमकेतु परिदृश्यों को देखने वाली एक टीम है। इसके अलावा हारून लेर्च के ब्लॉग को देखें क्योंकि मेरा मानना ​​है कि उसने ASP.NET में कुछ शुरुआती काम किए हैं।


9
यह वास्तव में लागू किया गया है; नीचे एंटोन की प्रतिक्रिया के अनुसार WebSync देखें। ( फ्रोजनमाउंट.com/websync )
jvenema

3
क्या किसी को रिवर्स अजाक्स कहा जाता है? इसे देखें: pokein.codeplex.com
ज़ुमू

4
MVC Async नियंत्रकों गैर-IIS कार्यकर्ता थ्रेड्स के लिए प्रतीक्षा को बंद करके IIS समस्याओं से लड़ने में मदद कर सकते हैं, क्ले लेनहार्ट द्वारा इस महान पोस्ट को देखें । BitBucket पर चैट सर्वर उदाहरण प्रोजेक्ट भी देखें ।
जैकब

33

WebSync एक मानक-अनुरूप स्केलेबल धूमकेतु सर्वर है जो सीधे IIS / .NET पाइपलाइन में एकीकृत होता है। यह एक होस्ट की गई सेवा के रूप में मांग पर भी उपलब्ध है।

यह आधिकारिक तौर पर प्रति सर्वर नोड पर 20,000 समवर्ती ग्राहक कनेक्शन का समर्थन करता है, लेकिन व्यक्तिगत परीक्षणों ने इसे 50,000 तक उच्चतर देखा है। मैसेज थ्रूपुट 1,000-5,000 समवर्ती ग्राहकों के निशान के आसपास इष्टतम है, एक नोड से 300,000 प्रति सेकंड के रूप में उच्च के रूप में वितरित संदेश।

इसमें .NET / मोनो और PHP के लिए सर्वर-साइड समर्थन के साथ जावास्क्रिप्ट, .NET / मोनो, iOS, मैक ओएस एक्स, जावा, सिल्वरलाइट, विंडोज फोन, विंडोज रनटाइम, और .NET कॉम्पैक्ट के लिए क्लाइंट-साइड समर्थन शामिल है।

बॉक्स से बाहर SQL सर्वर या Azure कैशिंग का उपयोग करके क्लस्टरिंग का समर्थन किया जाता है, लेकिन कस्टम प्रदाताओं को कुछ भी (Redis, NCache) के बारे में लिखा जा सकता है।

अस्वीकरण: मैं उस कंपनी के लिए काम करता हूं जो इस उत्पाद को विकसित करती है।


17
यहाँ एक अस्वीकरण होना चाहिए, अपने उत्पाद के रूप में ...
सैम केसर

9
ज़रूर, यह मेरे द्वारा काम करने वाली कंपनी द्वारा निर्मित है :) निश्चित रूप से कुछ भी छिपाने की कोशिश नहीं कर रहा है।
एंटोन

1
@ एटन - किसी चीज को छिपाना, उसे प्रकट करने के समान नहीं है।
RedFilter

1
@ एटन आप सर्वर नोड प्रति 20k समवर्ती ग्राहक कनेक्शन तक समर्थन कैसे करते हैं, इस बारे में अधिक विस्तार से बता सकते हैं? ये नंबर अच्छे लगते हैं .. "बहुत बड़े"।
पचेरियर

1
मुझे नहीं लगता कि यह पूछना समझदारी होगी कि कैसे websync हुड के तहत काम करता है, वैचारिक रूप से - 25,000 फुट के दृश्य से।
nocarrier

15

मैंने हाल ही में MVC 3 Async नियंत्रकों के आधार पर एक लंबे मतदान चैट सर्वर का एक सरल उदाहरण लिखा था क्लिंट लेन्ट द्वारा महान लेख के लिखा है

आप BitBucket प्रोजेक्ट से स्रोत के आधार पर स्थापित AppHarbor तैनाती पर उदाहरण का उपयोग कर सकते हैं ।

इसके अलावा, परियोजना की व्याख्या करने वाले मेरे ब्लॉग पोस्ट से अधिक जानकारी उपलब्ध है ।


मैं एक AppHarbor तैनाती पर उदाहरण की तरह
1916

'प्रोजेक्ट को समझाने वाला ब्लॉग पोस्ट' -> web.archive.org/web/20130328042214/http://…
jaybro

धन्यवाद! खुशी है कि आपको लेख पसंद आया।
क्ले लेनहार्ट

4

वास्तव में ASP.NET के साथ ajax समर्थित वेबसाइट बनाने के लिए कई विकल्प हैं लेकिन ईमानदारी से, PokeIn एक धूमकेतु AJAX समर्थित वेब एप्लिकेशन बनाने का सबसे आसान तरीका है। इसने मेरी कंपनी के एक प्रोजेक्ट को बचाया है।


3

आप कैज़िंग एंटरप्राइज गेटवे को भी देख सकते हैं जिसने उनके वेबसकेट [एचटीएमएल 5] गेटवे का प्रोडक्शन रिलीज़ किया है, जो धूमकेतु के रास्ते को पूरी तरह से ध्वस्त कर देता है और ब्राउज़रों और एप्लिकेशन सर्वरों के बीच पूर्ण-द्वैध कनेक्शन सक्षम करता है।

आप लाइट स्ट्रीमर डेमो को भी देख सकते हैं


1

मैंने एक बार बहुत पहले एक चैट साइट का उपयोग किया था जो एक कस्टम निर्मित HTTP स्ट्रीमिंग सर्वर का उपयोग करता था। मैं वास्तव में सरासर जिज्ञासा से बाहर एक बिंदु पर उस सॉफ्टवेयर को पुन: पेश करता हूं, और यह करना काफी आसान है, मुझे लगता है। मैं IIS में, विशेष रूप से ASP.NET में एक समान प्रकार के "अनंत अनुरोध" को लागू करने की कोशिश नहीं करूंगा, क्योंकि अनुरोध थ्रेड पूल थ्रेड (या IO थ्रेड, यदि अतुल्यकालिक हैंडलर्स का उपयोग किया जाता है) को अनिश्चित काल तक टाई करते हैं, जिसका अर्थ है कि आप केवल आपके थ्रेड पूल कॉन्फ़िगरेशन की अनुमति देता है प्रति सर्वर से इतना संभाल।

अगर मुझे इस तरह की कार्यक्षमता के लिए एक मजबूत वैध आवश्यकता थी, तो मैं ईमानदारी से इसके लिए एक कस्टम http सर्वर लिखूंगा।

मुझे पता है कि वास्तव में आपके सवाल का जवाब नहीं है, लेकिन मुझे लगा कि इनपुट प्रासंगिक हो सकता है।


1

WS-I समूह ने "विश्वसनीय सुरक्षित प्रोफ़ाइल" नामक कुछ प्रकाशित किया जिसमें ग्लास फिश और .NET कार्यान्वयन है जो स्पष्ट रूप से अच्छी तरह से संचालित होता है

किसी भी भाग्य के साथ वहाँ एक जावास्क्रिप्ट कार्यान्वयन के रूप में अच्छी तरह से है।

एक सिल्वरलाइट कार्यान्वयन भी है जो उपयोग करता है HTTP डुप्लेक्स । आप पुश बैक होने पर कॉलबैक पाने के लिए जावास्क्रिप्ट को सिल्वरलाइट ऑब्जेक्ट से कनेक्ट कर सकते हैं

वहाँ भी वाणिज्यिक भुगतान किया संस्करण में अच्छी तरह से।


4
छोटी उत्तराधिकार में कई सवालों के सटीक उत्तर का थोक-पोस्टिंग कुछ झंडे यात्रा करने के लिए जाता है ...
मार्क ग्रेवेल

2
( psst )

0

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


6
सब कुछ केवल एक बिंदु पर लंबवत स्केलेबल होता है, जिसके बाद क्षैतिज स्केलिंग होती है।
एंटोन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.