2010-07-07 6 views
12

हम नेटटी/एनआईओ आधारित सेवा का निर्माण करते हैं, और मैं अपने उत्पादन वातावरण में इस सेवा की तैनाती पर विचार कर रहा हूं। सेवाओं को तैनात करने का हमारा मानक तरीका टॉमकैट्स के अंदर तैनात किए जाने वाले डब्ल्यूएआर के रूप में है।टॉमकैट व्यवहार्य/वांछनीय के अंदर नेटटी सर्वर होस्ट कर रहा है?

जब मैंने यहां एक ही दृष्टिकोण का सुझाव दिया, तो मुझे चिल्लाया और शिकायतें मिलीं कि "यह नहीं किया जाना चाहिए", क्योंकि नेटटी और टॉमकैट दोनों सर्वर हैं, और "किसी अन्य सर्वर में होस्ट करने के लिए यह समझ में नहीं आता है" ।

मेरे लिए यह सही समझ में आता है क्योंकि यह पूरी तरह से मेरे परिनियोजन मुद्दे को हल करता है, साथ ही मुझे कुछ अन्य कोड लिखने से बचाता है। ऐसा क्यों है इतनी बड़ी "कोई नहीं" है?

+0

क्या आप अपने "परिनियोजन मुद्दे" के साथ-साथ "मुझे कुछ अन्य कोड लिखने से बचा सकते हैं" पर अधिक विशिष्ट हो सकते हैं? –

+0

@Romain - हमारे संचालन लोग लिपियों कि युद्धों लेने के लिए और आदि विभिन्न tomcats करने के लिए उन्हें तैनात, बंद करो/शुरू उन्हें/... अगर मैं एक बिलाव में होस्ट नहीं करते बल्कि एक स्टैंडअलोन जार के रूप में है, तो इन स्क्रिप्ट समायोजित करने की आवश्यकता। "अन्य कोड" मैं करने के लिए HTTP के माध्यम से सेवा विधि उजागर कर रहा है जिक्र कर रहे थे - हम पहले से ही है कि करने के लिए एक मानक HTTP सर्वलेट है, जो हम अब reimplement करने की आवश्यकता होगी के माध्यम से कोड है। सवाल यह है कि - टॉमकैट में बस इसे होस्ट करने में क्या गड़बड़ है? – ripper234

+0

युद्ध को फिर से तैनात करने में क्या गड़बड़ है? लाभ यह है कि आपके पास कोड का एक एकीकृत टुकड़ा है जिसे आप आवश्यकतानुसार रोलबैक करते हैं। –

उत्तर

16

गतिशील WAR तैनाती और तैनाती कि टोमकैट प्रदान करता है वेब अनुप्रयोगों के लिए डिज़ाइन किया गया है। नेटटी एप्लिकेशन जिसे आप टॉमकैट में तैनात करने की कोशिश कर रहे हैं वह एक वेब एप्लिकेशन नहीं है बल्कि सिर्फ एक अलग सर्वर है जो केवल वीएम मेमोरी साझा करता है। इसका मतलब है कि टॉमकैट को ओएसजीआई जैसे जेनेरिक माइक्रोक्रोनर में दोबारा लगाया गया है।

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

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

+2

हमारी नई कंपनी मानक युद्ध के रूप में तैनात है, और लगभग हर ऐप हमारे स्वामित्व प्रोटोकॉल के लिए नेटटी या मीना का उपयोग करता है। बस शटडाउन से सावधान रहना होगा, लेकिन अभी तक कोई बड़ा मुद्दा नहीं है। अब अगर नेटटी वसंत एमवीसी के लिए सर्वलेट कर सकती है तो हम सभी सेट होंगे। – Jason

1

बिलाव में कुछ भी शुरू मत करो, यह बहुत असुविधाजनक है, और इस दर्द मुद्दों का एक बहुत कुछ है। बस अपने आवेदन के अंदर टॉमकैट (या जेटी) एम्बेड करें और अपने आवेदन को सादा जावा प्रक्रिया के रूप में चलाएं।

+0

मैंने उत्पादन में कुछ बार इस दृष्टिकोण का उपयोग किया और यह काम करता है। मेवेन और जेनकींस के साथ यह और भी मजेदार है। – miloxe

7

यह भयानक समझ में आता है। हम वास्तव में टोमकैट में एक जावा ईमेल सर्वर चलाते हैं।

बिलाव एक आवेदन आवास के लिए कुछ बहुत बड़ा लाभ हैं:

  1. डेमॉन स्क्रिप्ट पहले से ही आप के लिए लिखा जाता है
  2. बिलाव गर्म तैनाती की अनुमति देता है (इतने लंबे समय आपके द्वारा उपयोग नहीं के रूप में हाइबरनेट :))
  3. किसी बिंदु पर आपको या तो एडमिन यूआई या एडमिन एपीआई
  4. टोमकैट की निगरानी करने के लिए बहुत सारे टूल की आवश्यकता हो सकती है जिसका अर्थ है कि आपके ऐप की नि: शुल्क निगरानी।

अब नेटी, मीना या किसी भी घटना संचालित नेटवर्क तकनीक के साथ आप अधिकांश एमवीसी ढांचे का उपयोग करने में सक्षम नहीं होंगे। असल में आप अधिकांश जावा एंटरप्राइज़ फ्रेमवर्क का उपयोग नहीं कर पाएंगे क्योंकि कई चीजें प्रति थ्रेड (लेनदेन, सुरक्षा, आदि ...) पर भरोसा करती हैं।

संबंधित मुद्दे