JBoss बनाम टॉमकैट फिर से [बंद]


138

यह उम्र का पुराना प्रश्न प्रतीत होगा (जो कि यह :) है) कि टॉमकैट और जेबॉस के बीच कौन सा सर्वर बेहतर है, लेकिन मुझे अपनी समस्या को हल करने के लिए अभी तक एक अच्छा उत्तर नहीं मिला है।

मुझे पता है कि टॉमकैट केवल एक सर्वलेट इंजन है और जेबॉस बॉक्स से बाहर कई और कार्यात्मकताएं प्रदान करता है, लेकिन जो मुझे समझ में नहीं आता है वह यह है कि टॉमकैट को जेबॉस की तुलना में कुछ स्थितियों में उपयोग करना बेहतर है। मैंने कहीं पढ़ा है कि JBoss में एक प्लगेबल आर्किटेक्चर है और यदि आवश्यक हो, तो आप इसे अनिवार्य रूप से एक tomcat सर्वलेट कंटेनर बनाने के लिए JBoss से सुविधाओं को अनप्लग कर सकते हैं। अगर ऐसा है, तो टॉमकैट का उपयोग करने के बजाय ऐसा करना बेहतर नहीं है, ताकि चीजों को वापस करने की गुंजाइश न रह जाए।

एक और स्पष्टीकरण मैं टॉमकैट के पक्ष में पाता हूं कि यह हल्का है, इसका मतलब स्मृति की कम आवश्यकता है या यह तेजी से प्रतिक्रिया की अनुमति देता है। फिर, मुझे यह जानने की आवश्यकता है कि आवश्यकता के अनुसार लोड घटकों को jboss नहीं किया जाएगा अर्थात यदि मैं केवल सर्वलेट्स का उपयोग कर रहा हूं, तो jboss बाकी सुविधाओं को छोड़ नहीं सकता है और स्वचालित रूप से हल्का हो जाएगा।

अनिवार्य रूप से, मेरे आवेदन में कोई जावा ईई विशेषताएं नहीं हैं, लेकिन टॉमकैट के पक्ष में 'हल्के' तर्क उक्त कारणों से पर्याप्त रूप से आश्वस्त नहीं हैं।

कृपया मदद कीजिए।

संपादित करें: हमने आखिरकार टॉमकैट का उपयोग करने का निर्णय लिया था और अब हम इसे 6 महीने से अधिक समय से उपयोग कर रहे हैं। वास्तव में हमने कुछ व्यावहारिक उपयोग पाया जहां हम विभिन्न डेवलपर्स के लिए एक ही सर्वर मशीन पर बहुत आसानी से कई टॉमकैट इंस्टेंसेस चला सकते हैं, वही jboss के साथ बहुत मुश्किल हो सकता है।

मैंने पाया है कि हमारे काम के लिए टॉमकैट परेशानी मुक्त है और इसलिए जब आप जावा ईई सुविधाओं का अधिक उपयोग नहीं कर रहे हैं तो यह सही विकल्प हो सकता है। पुनश्च: कृपया ध्यान दें कि हम अभी भी टॉमकैट के साथ स्प्रिंग और हाइबरनेट का उपयोग करते हैं


1
Uhh JBoss टॉमकैट के साथ एकीकृत नहीं है?
नवी

4
@ नवीन: सच में नहीं। इसमें टोस्कैट कोडबेस का कांटा संस्करण शामिल है, लेकिन यह काफी अलग है।
स्केफमैन

1
एक साधारण वेब ऐप, जिसमें कोई भी j2ee फीचर्स किसी भी कंप्लीट सर्वलेट कंटेनर पर आसानी से तैनात नहीं होना चाहिए। इसे देखते हुए यह बहुत ज्यादा मायने नहीं रखना चाहिए कि आप किसका इस्तेमाल करते हैं। मैं तैनात करने के लिए सबसे सरल के साथ शुरू करूँगा (टॉमकैट और जेट्टी दोनों ने मुझे अतीत में अच्छी तरह से सेवा दी है)।
जोएल

3
FYI करें, 2011 के अंत में इस पुराने प्रश्न का उत्तर देने के लिए Tomcat को JavaEE 6 को TomEE के रूप में प्रमाणित किया गया था ।
डेविड ब्रेलिन्स

1
लगभग 150K विचारों, 125 अपवोट्स, और 0 डाउनवोट्स के साथ एक बंद क्यू! !! मुझे पता है कि ये नियम हैं लेकिन मेरा कहना है कि ऐसे नियमों को थोड़ा बदलना होगा।
मुहम्मद रिफैट

जवाबों:


132

पहले तथ्य, न तो बेहतर है । जैसा कि आपने पहले ही उल्लेख किया है, टॉमकैट एक सर्वलेट कंटेनर प्रदान करता है जो सर्वलेट विनिर्देश का समर्थन करता है (टॉमकैट 7 सर्वलेट 3.0 का समर्थन करता है)। JBoss AS, एक 'पूर्ण' एप्लिकेशन सर्वर अपने वर्तमान संस्करण में जावा ईई 6 (सर्वलेट 3.0 सहित) का समर्थन करता है।

टॉमकैट काफी हल्का है और अगर आपको सर्वलेट एपीआई से परे कुछ जावा ईई सुविधाओं की आवश्यकता है, तो आप अपने आवेदन के हिस्से के रूप में आवश्यक पुस्तकालयों को प्रदान करके आसानी से टॉमकैट को बढ़ा सकते हैं। उदाहरण के लिए, यदि आपको जेपीए सुविधाओं की आवश्यकता है तो आप हाइबरनेट या ओपनईजेबी को शामिल कर सकते हैं और जेपीए बॉक्स से लगभग बाहर काम करता है ।

कैसे तय करें कि टॉमकैट या पूर्ण स्टैक Java EEएप्लिकेशन सर्वर का उपयोग करें:

अपना प्रोजेक्ट शुरू करते समय आपके पास एक विचार होना चाहिए कि इसकी क्या आवश्यकता है। यदि आप एक बड़े उद्यम वातावरण में हैं तो JBoss (या कोई अन्य जावा ईई सर्वर) सही विकल्प हो सकता है क्योंकि यह उदाहरण के लिए अंतर्निहित समर्थन प्रदान करता है:

  1. अतुल्यकालिक एकीकरण के लिए जेएमएस संदेश
  2. वेब सेवा इंजन (JAX-WS और / या JAX-RS)
  3. जेएमएक्स और एक स्क्रिप्टेड प्रशासन इंटरफ़ेस जैसी प्रबंधन क्षमताएं
  4. उन्नत सुरक्षा, जैसे 3-पार्टी निर्देशिका के साथ आउट-ऑफ-द-बॉक्स एकीकरण
  5. "केवल" WAR फ़ाइल समर्थन के बजाय EAR फ़ाइल
  6. अन्य सभी "महान" जावा ईई सुविधाएँ मुझे याद नहीं हैं :-)

मेरी राय में, टॉमकैट एक बहुत अच्छा फिट है अगर यह वेब केंद्रित, उपयोगकर्ता का सामना करने वाले अनुप्रयोगों के लिए आता है। यदि बैकएंड एकीकरण खेल में आता है, तो एक जावा ईई एप्लिकेशन सर्वर पर (कम से कम) विचार किया जाना चाहिए। पिछले नहीं बल्कि कम से कम, टॉमबेट से जेबॉस के लिए विकसित डब्ल्यूएआर का प्रवास 1 दिन का एक्सर्साइज़ होना चाहिए।

दूसरा, आपको अपने पर्यावरण के अंदर उपयोग को भी ध्यान में रखना चाहिए। यदि आपका संगठन पहले से ही 1,000 JBoss उदाहरण कहता है, तो आप हमेशा अपनी ठोस आवश्यकताओं की परवाह किए बिना (संचालन या अपस्किलिंग के लिए लागत जैसे पहलुओं पर विचार) कर सकते हैं। बेशक, यह इसके विपरीत लागू होता है।

मेरा 2 प्रतिशत


13

TOMEE पर एक नज़र डालें

इसमें सभी विशेषताएं हैं जिन्हें आपको एक पूर्ण जावा ईई ऐप बनाने की आवश्यकता है।


7

मैं निश्चित रूप से TomEE को देखूंगा क्योंकि पीछे विचार यह है कि Tomcat को सभी JavaEE 6 एकीकरण को डिफ़ॉल्ट रूप से गायब रखना है। यह एक तरह का बहुत अच्छा समझौता है


6

सच पूछिये तो; कोई जावा ईई सुविधाओं के साथ अपने app शायद ही सभी में एक appserver की जरूरत है ;-)

जैसे कि दूसरों ने बताया है कि JBoss में एक (अधिक या कम) पूर्ण जावा EE स्टैक है, जबकि टॉमकैट केवल एक वेबकंटेनर है। JBoss को केवल एक webcontainer के रूप में सेवा करने के लिए कॉन्फ़िगर किया जा सकता है, यह तब शामिल किए गए tomcat webcontainer के चारों ओर एक पतला आवरण होगा। इस तरह आप लगभग एक हल्के JBoss के रूप में हो सकते हैं, जो वास्तव में टॉमकैट के आसपास एक पतली "आवरण" होगा। यह लगभग लाइटवेट के रूप में होगा।

यदि आपको किसी एक्स्ट्रा कलाकार की आवश्यकता नहीं है, तो JBoss की पेशकश की जानी चाहिए, जिस पर आप सबसे अधिक आरामदायक हैं। आपके लिए कॉन्फ़िगर करना और बनाए रखना सबसे आसान है?


1
टॉमकट के साथ वेब सेवाओं और जेएमएक्स का उपयोग करना कितना मुश्किल है, क्या आप कृपया कुछ अच्छे संदर्भ / लिंक प्रदान कर सकते हैं
आशीष

2

मैंने यह भी पढ़ा है कि कुछ सर्वरों के लिए उदाहरण के लिए केवल एनोटेट संदर्भों की व्याख्या करने की आवश्यकता है, लेकिन कुछ सर्वरों में, इंजेक्शन मैन्युअल रूप से किया जाना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.