का उपयोग करके मैं php का उपयोग कर साइट बनाने पर विचार कर रहा हूं, लेकिन इसके कई पहलू हैं जो नोड.जे.एस. में किए जाने पर कहीं अधिक बेहतर प्रदर्शन करेंगे। उसी समय, साइट के बड़े हिस्से को PHP में रहने की आवश्यकता है। ऐसा इसलिए है क्योंकि PHP में बहुत सी कार्यक्षमता पहले ही विकसित हो चुकी है, और पुनर्विकास, परीक्षण, और आगे भी उपक्रम का बहुत बड़ा होगा, और स्पष्ट रूप से, साइट के उन हिस्सों में PHP में पूरी तरह से ठीक चल रहा है।php + gearman + node.js
मैं node.js में सेक्शन को पुनर्निर्माण करने पर विचार कर रहा हूं जो कि node.js में सबसे अधिक चलाने से लाभान्वित होगा, फिर PHP को गियरमैन का उपयोग करके node.js को अनुरोध पास कर दिया जाएगा। इस तरह, मैं अधिक श्रमिकों को लॉन्च करके स्केल आउट स्कैन करता हूं और गियरमैन लोड वितरण को संभालता हूं।
हमारी साइट पर बहुत अधिक ट्रैफ़िक मिलता है, और मुझे चिंता है कि गियरमैन इस लोड को संभाल सकता है या नहीं। मैं इस सवाल का उत्पादक रखने के लिए wan't, तो काफी हद तक निम्न पता बिंदुओं पर ध्यान केंद्रित करते हैं:
- gearman कर सकते हैं हमारी उम्मीद भार संभालने हम स्मृति के सभी संभाल (संभावित आसपास 3000+ समय में नौकरियों पंक्तिबद्ध, प्रति सेकंड कई हजार संसाधित किया जा रहा है)?
- क्या यह बेहतर होगा यदि मैंने कर्ल का उपयोग करके node.js को अनुरोध पास कर दिए हैं, और यदि ऐसा है, तो node.js किसी दिए गए स्क्रिप्ट के कई उदाहरणों पर लोड वितरित करने का कोई तरीका प्रदान करता है?
- क्या गियरमैन इस तरह से कॉन्फ़िगर किया जा सकता है कि विफलता का कोई भी बिंदु नहीं है?
- कुछ ऐसे मुद्दे क्या हैं जिन्हें आप विकास और स्केलिंग के मामले में उत्पन्न कर सकते हैं?
मैं इन विस्तृत श्रृंखलाओं को संबोधित कर रहा हूं ताकि इस पोस्ट को देखने वाले किसी भी व्यक्ति को एक दूसरे पर दृढ़ता से प्रभावित होने वाले मामलों के बारे में जानकारी की एक विस्तृत श्रृंखला एकत्र कर सकें।
बेशक मैं इन सब का परीक्षण करूंगा, लेकिन मैं संभावित रूप से ऐसा कुछ करने से पहले जितना संभव हो उतना अधिक जानकारी एकत्र करना चाहता हूं।
संपादित करें: गियरमैन का उपयोग करने का एक बड़ा कारण यह गैर-अवरुद्ध संरचना की वजह से नहीं है, बल्कि इसकी तीव्र गति के कारण है।
_Can gearman हमारे सभी अपेक्षित लोड को संभालता है? _ यह एक लंबा-एक-टुकड़ा-स्ट्रिंग प्रश्न है, और यह निर्भर करता है कि आपके पास कितने वर्कर्स सर्वर उपलब्ध हैं, आपकी कतार कितनी तेज़ी से भरती है, और कैसे प्रत्येक आइटम को संसाधित करने के लिए बहुत प्रयास किया जाता है। यदि आप एक सर्वर पर प्रति हजार कई सेकंड कर सकते हैं, और आप उन्हें उच्च निरंतर दर पर कतार नहीं दे रहे हैं, तो मुझे लगता है कि आप ठीक होंगे। गियरमैन को ब्लॉकिंग और गैर-अवरुद्ध मोड बीटीडब्ल्यू में इस्तेमाल किया जा सकता है, और निश्चित रूप से जाने के लायक है। – halfer