मैं एक PHP वेब एप्लिकेशन डेवलपर हूं जिसने PHP w/codeIgniter में कई बड़ी परियोजनाएं बनाई हैं। PHP ने हमेशा काम पूरा कर लिया है, लेकिन अब मैं एक नई परियोजना पर काम कर रहा हूं जिसे मैं क्लाइंट-साइड पर जावास्क्रिप्ट extjs4 ढांचे के साथ बना रहा हूं। और मेरे पास अनुभवी नोडजेस डेवलपर्स के लिए कुछ प्रश्न हैं।एक विशिष्ट परिस्थिति में एक PHP डेवलपर को विकास की नोडज शैली की व्याख्या करना
मेरे हालिया PHP प्रोजेक्ट में, उपयोगकर्ता-लॉगिन अनुरोध के लिए मेरे सर्वर को फेसबुक पर एपीआई कॉल करने की आवश्यकता होती है। स्केलेबिलिटी में सुधार करने के लिए जिस तरह से मैंने इसे संभाला था, क्या मेरा क्लाइंट प्रारंभिक लॉगिन अनुरोध करेगा, सर्वर 'गियरमैन' जॉब क्यूइंग सर्वर से अनुरोध पास करेगा, और पृष्ठभूमि कार्यकर्ता प्रक्रिया नौकरी पकड़ लेगी और एपीआई कॉल करेगी। इस बीच, सर्वर क्लाइंट को जवाब देगा और फिर ग्राहक का ब्राउज़र AJAX के साथ सर्वर को मतदान करना शुरू कर देगा यह देखने के लिए कि क्या काम पूरा हो गया है या नहीं। (ओह, और मैंने कार्यकर्ता से फेसबुक एपीआई कॉल के परिणामों को मेमकैच के साथ एप्लिकेशन सर्वर पर पास कर दिया)। मैंने PHP से लॉक होने के बाद उपयोगकर्ताओं से अधिक समवर्ती अनुरोधों को संभालने के लिए अपने एप्लिकेशन सर्वर को मुक्त करने के लिए यह किया और एक फेसबुक एपीआई कॉल में कई सेकंड लगते हैं।
मेरा सवाल यह है कि क्या यह ऐप सर्वर का एक संपूर्ण मॉडल है, एक गियरमैन जॉब क्यूइंग सर्वर है, और पृष्ठभूमि कार्यकर्ता नोडज विकास के लिए समझ में हैं क्योंकि नोडज गैर-लॉकिंग है? क्या मैं क्लाइंट से लॉगिन करने के लिए एजेक्स अनुरोध स्वीकार करता हूं, एप्लिकेशन एपीआई से फेसबुक एपीआई को कॉल करता हूं और इसके प्रतिक्रिया की प्रतीक्षा करता हूं (अन्य उपयोगकर्ता के अनुरोधों को संभालने के दौरान नोडज गैर-लॉकिंग के बाद) और फिर उपयोगकर्ता को जवाब देता है?
मैं भयानक heroku पर्यावरण का लाभ लेने में सक्षम होने के लिए नोडज विकास में शामिल होने पर भी विचार कर रहा हूं।
मेरी इच्छा है कि कोई इसका जवाब दे, मैं एक समान स्थिति में हूं – Dhiraj