Play ढांचे के बारे में महान चीजों में से एक यह है कि यह पूरी तरह से स्टेटलेस है और केवल अनुरोध/प्रतिक्रिया-उन्मुख है। यह वास्तव में अच्छा है क्योंकि यह मुझे अपने ऐप को क्लाउड पर तैनात करने और राज्य लोड (सत्र) प्रतिकृति के बारे में चिंता किए बिना मेरे लोड बैलेंसर के पीछे प्ले इंस्टेंस की संख्या को स्केल करने की अनुमति देता है ...प्ले फ्रेमवर्क: स्टेटलेस मॉडल पर नौकरियों का प्रभाव
हाल ही में, मुझे इसकी आवश्यकता थी किसी HTTP अनुरोध के बाहर कुछ एप्लिकेशन तर्क निष्पादित करें और पता चला कि Play में उन नौकरियों को परिभाषित करने की संभावना है जो ढांचे द्वारा पूरी तरह से प्रबंधित हैं। शानदार लगता है लेकिन यह सवाल उठता है: इन नौकरियों को प्लेलेस द्वारा उपयोग किए जाने वाले स्टेटलेस मॉडल में कैसे फिट किया जाता है?
कहें कि मेरे पास एक रखरखाव कार्य है जिसे हर घंटे चलाने की आवश्यकता है और मैं इसके लिए निर्धारित समय निर्धारित करता हूं। यदि मैं लोड बैलेंसर के पीछे कई प्ले इंस्टेंसों को तैनात करता हूं, तो क्या वह कार्य प्रत्येक इंस्टेंस पर एक ही समय में शुरू हो जाएगा? और यदि हां, तो "विशेष रूप से" चलाने के लिए आवश्यक नौकरियों को संभालने का एक अच्छा तरीका क्या होगा?
मैं एक गैर-क्लस्टर सर्वर पर एक नया प्ले उदाहरण बनाने के बारे में सोच रहा था, मौजूदा (क्लस्टर) उदाहरण के जेपीए मॉडल का पुन: उपयोग कर रहा हूं (और इस प्रकार एक ही डेटाबेस से कनेक्ट हो रहा है)। इस नए उदाहरण में केवल रखरखाव की नौकरियां होंगी और चूंकि यह गैर-क्लस्टर सर्वर पर होस्ट की जाती है, इसलिए नौकरी के साथ-साथ चलने का कोई खतरा नहीं होता है। साथ ही, यह मुझे अपने मौजूदा, क्लस्टर किए गए उदाहरण को पूरी तरह से स्टेटलेस और मेजबान/लोड संतुलन को आसान रखने की अनुमति देगा। क्या यह एक अच्छा दृष्टिकोण होगा?
एक उपहार प्राप्त करना, नीचे देखें। – ripper234