प्रकटीकरण: मैं फेय का लेखक हूं।
- फेय के बारे में, आपने जो कुछ भी कहा है वह सच है।
- Faye सबसे अधिक Bayeux को लागू करता है, एकमात्र चीज़ जो अभी गायब है वह है सेवा चैनल, जिसे मैंने अभी तक उपयोगी नहीं माना है। विशेष रूप से फेय को बायक्मे के कॉमेटडी संदर्भ कार्यान्वयन के साथ संगत करने के लिए डिज़ाइन किया गया है, जिसका निम्नलिखित पर एक बड़ा असर है।
- वैचारिक रूप से, हाँ: Faye सॉकेट का उपयोग कर सकता है । व्यवहार में, इसके कुछ अवरोध हैं:
- मुझे पता नहीं है कि सॉकेट.आईओ को किस तरह के सर्वर-साइड समर्थन की आवश्यकता है, और आवश्यकता है कि फेय क्लाइंट (नोड और रूबी में सर्वर-साइड क्लाइंट हैं, याद रखें) किसी भी बायोकैम सर्वर (और फेय) से बात करने में सक्षम हो किसी भी Bayeux ग्राहक के लिए सर्वर) डील-ब्रेकर हो सकता है।
- Bayeux की विशिष्ट आवश्यकताएं हैं जो सर्वर और क्लाइंट कुछ परिवहन प्रकारों का समर्थन करते हैं, और कहते हैं कि कैसे बातचीत करना है जो एक का उपयोग करना है। यह यह भी निर्दिष्ट करता है कि उनका उपयोग कैसे किया जाता है, उदाहरण के लिए एक XHR अनुरोध का कंटेंट-प्रकार कैसे प्रभावित करता है कि इसकी सामग्री की व्याख्या कैसे की जाती है।
- कुछ प्रकार की त्रुटि से निपटने के लिए मुझे परिवहन के लिए सीधी पहुंच की आवश्यकता होती है, उदाहरण के लिए संदेशों का पुनरुत्पादन जब एक ग्राहक एक नोड वेबस्केट के बाद फिर से जुड़ता है ।
- कृपया मुझे सही करें अगर मुझे इसमें से कोई गलत मिला है - यह सॉकेट.आईओ प्रलेखन के सरसरी स्कैन पर आधारित है।
- फेय सिर्फ पब / उप है, यह सिर्फ थोड़े अधिक जटिल प्रोटोकॉल पर आधारित है और इसमें निर्मित बहुत सारी बारीकियां हैं:
- सर्वर- और क्लाइंट-साइड एक्सटेंशन
- चैनल मार्गों पर वाइल्डकार्ड पैटर्न-मिलान
- स्वचालित पुन: संयोजन, उदाहरण के लिए जब WebSockets मर जाते हैं या सर्वर ऑफ़लाइन हो जाता है
- ग्राहक सभी ब्राउज़रों में, फोन पर और सर्वर-साइड पर नोड और रूबी में काम करता है
Faye शायद Juggernaut की तुलना में बहुत अधिक जटिल दिखता है क्योंकि Juggernaut अधिक प्रतिनिधि देता है, उदाहरण के लिए, यह Socket.IO को परिवहन वार्ता और Redis को संदेश रूटिंग को सौंपता है। ये दोनों ठीक निर्णय हैं, लेकिन बायकैम का उपयोग करने के मेरे फैसले का मतलब है कि मुझे खुद अधिक काम करना होगा।
जैसा कि डिजाइन दर्शन के लिए, फेय का ओवरराइडिंग लक्ष्य है कि यह वेब पर उपलब्ध हर जगह काम करना चाहिए और साथ जाने के लिए बिल्कुल तुच्छ होना चाहिए। शुरुआत के साथ इसे शुरू करना बहुत आसान है, लेकिन इसकी व्यापकता का मतलब है कि इसे काफी शक्तिशाली तरीकों से अनुकूलित किया जा सकता है, उदाहरण के लिए आप इसे प्रमाणीकरण एक्सटेंशन जोड़कर सर्वर-टू-क्लाइंट पुश सर्विस (यानी मनमानी करने वाले क्लाइंट को इसे रोकने के लिए) में बदल सकते हैं ।
सर्वर की तरफ इसे और अधिक लचीला बनाने के लिए काम चल रहा है। मैं क्लस्टरिंग समर्थन जोड़ने और कोर पब-सब इंजन को प्लग-योग्य बनाने पर विचार कर रहा हूं ताकि आप फेय को रेडिस या एएमक्यूपी जैसे किसी अन्य पब-उप सिस्टम के लिए एक स्टेटलेस वेब फ्रंटेंड के रूप में उपयोग कर सकें।
मुझे उम्मीद है कि यह मददगार रहा होगा।