के साथ युद्ध फ़ाइलों बनाम निष्पादन योग्य जार को तैनात करने की सलाह जावा वेब अनुप्रयोगों में जावा वेब अनुप्रयोगों को एक जावा फ़ाइल के रूप में जावा सर्वलेट कंटेनर (या एप्लिकेशन सर्वर) पर तैनात करने से दूर जाने के लिए जावा स्पेस में वर्तमान प्रवृत्ति प्रतीत होती है (या कान फ़ाइल) और इसके बजाय अनुप्रयोग को एक्जिक्यूटेड जार के रूप में एक एम्बेडेड सर्वलेट/HTTP सर्वर जैसे जेटी के साथ पैकेज करें। और मेरा मतलब है इस अधिक ताकि रास्ते में नए चौखटे प्रभावित कर रहे कैसे नए अनुप्रयोगों विकसित कर रहे हैं और नहीं बल्कि कैसे अनुप्रयोगों उपयोगकर्ताओं (समाप्त करने के लिए दिया जाता है की तुलना में तैनात है, क्योंकि उदाहरण के लिए, मैं क्यों जेनकींस एक एम्बेडेड कंटेनर, बहुत हड़पने और जाने के लिए आसान का उपयोग करता है)। निष्पादन योग्य जार विकल्प को अपनाने वाले ढांचे के उदाहरण: Dropwizard, Spring Boot, और Play (अच्छी तरह से यह सर्वलेट कंटेनर पर नहीं चलता है लेकिन HTTP सर्वर एम्बेडेड है)।एम्बेडेड कंटेनर
मेरा सवाल यह है कि, एक ऐसे माहौल से आ रहा है जहां हमने हमारे (एक बिंदु पर ज्यादातर स्ट्रूट 2) अनुप्रयोगों को एक ही टॉमकैट एप्लिकेशन सर्वर पर तैनात किया है, क्या परिवर्तन, सर्वोत्तम प्रथाओं या विचारों को बनाने की आवश्यकता है यदि हम उपयोग करने की योजना बना रहे हैं एक एम्बेडेड कंटेनर दृष्टिकोण? वर्तमान में, हम के बारे में 10 देसी अनुप्रयोगों एक भी बिल्ला सर्वर पर चल रहा है और इन छोटा सा अनुप्रयोगों संसाधनों को साझा करने की क्षमता और एक सर्वर पर प्रबंधित किया जा के लिए अच्छा है। हमारे अनुप्रयोगों का उद्देश्य अपने उपयोगकर्ताओं के भीतर चलाने के लिए अंतिम उपयोगकर्ताओं को वितरित करने का इरादा नहीं है। हालांकि, अगर हम एक नए जावा ढांचे का लाभ उठाने का फैसला करते हैं, तो आगे बढ़ना चाहिए, क्या यह दृष्टिकोण बदलना चाहिए? क्लाउड तैनाती (जैसे, हेरोकू) के बढ़ते उपयोग से निष्पादन योग्य जारों में बदलाव आया है?
आप एक ही आवेदन सर्वर पर तैनाती बनाम पारंपरिक युद्ध फ़ाइल तैनाती के प्ले शैली में कई आवेदन प्रबंध अनुभव प्राप्त हुआ है, तो आपके अंतर्दृष्टि साझा करें।
उत्तर देने के लिए धन्यवाद, आप कुछ अच्छे अंक बनाते हैं। बादल ड्राइविंग कारक है! हमारी स्थिति में मैं क्लाउड सर्वर का मालिकाना अधिक आरामदायक महसूस करता हूं, अमेज़ॅन वेब सर्विसेज मॉडल (एक सेवा के रूप में इंफ्रास्ट्रक्चर) के रूप में एप्लिकेशन को ला ला ऐप इंजन (एक सेवा के रूप में प्लेटफ़ॉर्म) पर तैनात करने के विरोध में, लेकिन मुझे लगता है कि यह है विचार का पुराना स्कूल। तो टेकवे: जब तक हम क्लाउड को क्लाउड में सेवा के रूप में लीवरेज करने की योजना नहीं बनाते, तब तक एक ही सर्वर पर एकाधिक स्टैंडअलोन जावा वेब एप्लिकेशन प्रबंधित करने के बजाए युद्ध तैनाती जाने का तरीका होता है। आपके इनपुट के लिए फिर से धन्यवाद। –
बस 2cc: यदि आप प्रॉक्सी के रूप में कुछ प्रकाश HTTP सर्वर, साथ ही मशीन पर एकाधिक _jar-apps_ चला सकते हैं अर्थात्: nginx, यह अतिरिक्त कस्टम CDN, भार संतुलन, फ़ायरवॉल, आदि जैसे ठेठ वेब यातायात के लिए इस्तेमाल किया जा सकता तो यह करने के लिए उचित है बड़े ट्रैफिक की योजना बनाते समय इसका उपयोग करने पर विचार करें (इसमें बेहतर प्रदर्शन है, फिर प्रत्येक अनुरोध को संभालना - यहां तक कि अपने मुख्य ऐप के माध्यम से स्थिर संसाधनों के लिए)। – biesior