एक अधिसूचना प्रोजेक्ट के लिए, ईवेंट नोटिफिकेशन को पुश करना चाहते हैं। ये लॉगिन जैसी चीजें हैं, प्रोफ़ाइल में परिवर्तन इत्यादि हैं, और उपयुक्त ग्राहक को प्रदर्शित करने के लिए। मैं इसे एक साथ रखने पर कुछ विचारों पर चर्चा करना चाहता हूं, और सर्वोत्तम दृष्टिकोण पर कुछ सलाह लेना चाहता हूं।कैसे घटना आधारित पुश नोटिफिकेशन के लिए ASP.Net, IISNode, Node.js, और SQL सर्वर के साथ Socket.IO लागू करने के लिए?
मैंने here देखा कि एक कॉच डीबी में किए गए परिवर्तनों को नोड द्वारा उठाए गए _changes स्ट्रीम के साथ पता लगाया जा सकता है, और एक प्रक्रिया बंद हो जाती है। मैं इस तरह कुछ कार्यान्वित करना चाहता हूं (मैं SQL सर्वर का उपयोग कर रहा हूं, लेकिन इस स्तर पर एक प्रविष्टि बिंदु सबसे अच्छा समाधान नहीं हो सकता है)।
कॉच डीबी उदाहरण का पालन करने के बजाय (डेटाबेस-आधारित घटनाओं का पता लगाने के बाद, मुझे लगता है कि यह केवल चीजों को जटिल करता है, क्योंकि हम ग्राहक घटनाओं में रूचि रखते हैं), मैं सोच रहा था कि जब कोई ईवेंट होता है, जैसे उपयोगकर्ता लॉगिन, तो कुछ घटना विवरण (रीस्टफुल अनुरोध?) के साथ नोड सर्वर पर एक संदेश भेजा जाता है। यह संदेश तब संसाधित और सभी जुड़े ग्राहकों को प्रसारित किया जाता है; उपयुक्त ग्राहक अधिसूचना प्रदर्शित करता है।
प्रस्तावित पारिस्थितिकी तंत्र:
- नेट 4.0
- IIS
- IISNode
- Socket.IO
- Node.js
- एसक्यूएल सर्वर 2008
हो जाएगा ताकि पर बनाया जाना चाहिए नेट फ्रेमवर्क (आईआईएस, आदि) का उपयोग कर मौजूदा परियोजना के शीर्ष। कई क्लाइंट के ब्राउज़र वेब सॉकेट का समर्थन नहीं करते हैं, इसलिए सॉकेट.आईओ का उपयोग करना एक अच्छा विकल्प है (फ़ॉलबैक समर्थन)। हालांकि, I can see से, सॉकेट.आईओ केवल अभी भी आईआईएसएनोड (जो वास्तव में कोई समस्या नहीं है) के माध्यम से लंबे मतदान का समर्थन करता है।
एक विकल्प सभी ग्राहकों को सॉकेट.आईओ/नोड एंडपॉइंट का पर्दाफाश करना होगा, ताकि क्लाइंट-आधारित नोटिफिकेशन जेएस के माध्यम से नोड सर्वर पर भेजा जा सके, जो संदेश को प्रसारित करता है। (मूल चैट-सर्वर/क्लाइंट/सर्वर उदाहरणों का पालन करता है)।
वैकल्पिक रूप से, एक आईआईएस endpoint इस्तेमाल किया जा सकता है, लेकिन केवल लंबे समय तक मतदान का समर्थन कर सकता है (Socket.IO के माध्यम से)। यह कुछ अतिरिक्त नेट बैक-एंड प्रोसेसिंग प्रदान करेगा, लेकिन आर्किटेक्चर को अधिक जटिल बना सकता है।
क्या SQL सर्वर-आधारित ईवेंट अधिसूचना नोड के लिए उपलब्ध है?
सबसे अच्छा तरीका क्या होगा?
अगर मैं शब्दावली पारिस्थितिकी तंत्र विन्यास सही नहीं मिला, कृपया स्पष्ट।
धन्यवाद।
धन्यवाद टोमाज़। आप सिग्नलआर को लागू करने के बारे में एक बहुत अच्छा मुद्दा बनाते हैं। हालांकि, मुद्दा यह है कि परियोजना विरासत एएसपी कोड और नेट कोड के बीच खंडित है, इसलिए मुझे लगता है कि है कि अब के लिए, Javascript आधारित संचार (नहीं सी #) शायद सबसे अच्छा विकल्प होगा। अगर मुझे सिग्नलआर अवधारणा सही तरीके से मिल रही है, तो भविष्य में जब परियोजना पूरी तरह से .NET पर माइग्रेट हो जाती है, तो सिगलनआर पर स्विच करें। क्या नोड.जेएस, आईआईएसएनओड, और सॉकेट.आईओ के कुछ अच्छे चलने वाले हैं? कुछ SQL सर्वर विकल्पों को भी देखा, लेकिन इस ऐप के लिए ओवरकिल। – ElHaix
सुधार: .NET 4.0 में एक डब्ल्यूसीएफ सेवा के रूप में एक सिग्नलआर दृष्टिकोण लागू करें जिसे क्लासिक एएसपी कोड द्वारा उपभोग किया जा सकता है। हल किया। – ElHaix
टॉमसज़ - क्या आप इस सीमा को iisnode दस्तावेज़ों में स्पष्ट कर सकते हैं? मैंने वेबस्क्रिप्ट समर्थन का उपयोग करने के मुख्य लक्ष्य के साथ अपने विंडोज बॉक्स पर आईज़नोड और नोडजेज स्थापित किए हैं - इसलिए मुझे लगता है कि मेरे विकल्प विंडोज पर nginx या apache का उपयोग कर रहे हैं, या लिनक्स पर जा रहे हैं। – jnoss