2012-02-06 13 views
5

में बहुस्तरीय अनुप्रयोग आर्किटेक्चर और परिनियोजन मुझे एक ग्लासफ़िश सर्वर (v 3.1) प्रति 100 ग्राहकों के लिए एक होस्टिंग वातावरण स्थापित करने की आवश्यकता है। प्रत्येक ग्राहक को कस्टम कॉन्फ़िगर किए गए एप्लिकेशन की आवश्यकता होती है जिसे एक-दूसरे से स्वतंत्र रूप से चलाया जा सकता है। (जेडीबीसी, जेएमएस, एकल ऐप को पुनरारंभ करने की संभावना) रनिंग एकल वर्चुअल मशीन को प्राथमिकता दी जाएगी, क्योंकि 750 एमबी रैम का उपयोग करके 100 जेवीएम लॉन्च करने के लिए एक अच्छा विचार नहीं लगता है।ग्लासफ़िश ऐप सर्वर

अब तक मैं निम्नलिखित समाधान का परीक्षण किया है, लेकिन दुर्भाग्य से, इनमें से कोई भी मेरी आवश्यकताओं को पूरा किया:

  1. अलग डोमेन पर नियोजित करना आवेदन। यह समाधान कई बंदरगाहों पर एकाधिक प्रबंधन कंसोल चलाने की जेवीएम राम उपयोग और जटिलता के कारण अपर्याप्त था (हमें उस बहुत अलग होने की आवश्यकता नहीं है)

  2. एक ही डोमेन पर एकाधिक उदाहरणों (ग्लासफ़िश पर नामित लक्ष्य) पर एप्लिकेशन को तैनात करना। यह समाधान अपर्याप्त था क्योंकि यह प्रत्येक उदाहरण के लिए अलग जेवीएम प्रक्रिया बनाता है और बहुत अधिक रैम (प्रत्येक उदाहरण के लिए कई सौ एमबी) का उपभोग करता है। अन्यथा यह हमारी जरूरत के करीब था।

  3. एक ही उदाहरण पर एकाधिक वर्चुअल होस्ट पर एप्लिकेशन को तैनात करना। यह समाधान अस्वीकार्य था क्योंकि ग्लासफ़िश में प्रत्येक वर्चुअल सर्वर में एक अलग कॉन्फ़िगरेशन नहीं है।

क्या कोई सुझाव दे सकता है कि एकाधिक अनुप्रयोग उदाहरण होस्ट करने के लिए ग्लासफ़िश का उपयोग करने के लिए सबसे अच्छा अभ्यास/सिफारिश क्या है? क्या हम प्रति ग्राहक 1 जीबी रैम आरक्षित करने के लिए "बर्बाद" हैं? आईआईएस पर्यावरण से आ रहा है, हमारे पास स्टार्टअप पर 3-5 एमबी रैम का उपयोग करके अलग-अलग एप्लिकेशन पूल थे।


अद्यतन

मेरी निर्भरता और मेरे एप्लिकेशन में साझा करने के बारे में: विचार मैं Glassfisf सर्वर पर महसूस करने के लिए चाहते हैं, प्रत्येक आवेदन अलग संसाधनों (JMS और JDBC) की जरूरत है। यह कोई समस्या नहीं है, मैं एक प्रति उदाहरण पर सक्षम वर्चुअल होस्ट प्रति प्रति एप्लिकेशन को कस्टमाइज़ कर सकता हूं (मैं वर्चुअल सर्वर को एचटीपी अनुरोध से सर्वर नाम प्राप्त करके पहचान सकता हूं और उदाहरण के लिए अलग-अलग संसाधनों और कॉन्फ़िगरेशन फ़ाइलों को इस विशिष्ट कॉन्फ़िगरेशन को लागू करने के लिए तैयार कर सकता हूं आभासी परिसेवक)।

मेरे 'स्वावलंबन requrements' हैं:

  1. मैं बस एक Glassfish उदाहरण पर एक से अधिक आवेदन को तैनात करने और उन्हें अलग जावा प्रक्रियाओं में, लेकिन एक ही जावा आभासी मशीन अंतर्गत चलाने के लिए सक्षम होने के लिए सक्षम होना चाहिए।
  2. मुझे प्रत्येक एप्लिकेशन को स्वतंत्र रूप से प्रत्येक एप्लिकेशन को शुरू/बंद करने में सक्षम होना चाहिए।
  3. मुझे एक एप्लिकेशन को फिर से लोड करने में सक्षम होना चाहिए जबकि अन्य अनुप्रयोगों को सक्रिय रहना चाहिए (आईआईएस के तहत इस विकल्प को 'रीसायकल एप्लिकेशन पूल' कहा जाता है)।
  4. एक एप्लिकेशन में बग के मामले में, यह उसी सर्वर/इंस्टेंस पर अन्य ग्राहक ऐप्स पर प्रभाव नहीं डालना चाहिए। अन्य अनुप्रयोग काम करते रहते हैं (बेशक जब यह बग पूरे जावा वीएम खराब नहीं करता है)।

क्या यह विचार एक ग्लासफ़िश उदाहरण पर महसूस किया जा सकता है जिसमें सौ आवेदन तैनात किए गए हैं (उदाहरण/वर्चुअल होस्ट पर सक्षम)? शायद विभिन्न नामों के तहत आवेदनों को तैनात करना (जैसे यहां वर्णित: home.java.net/node/676678) मेरे मामले में एक अच्छा समाधान हो सकता है?क्या किसी को अलग-अलग विन्यासों के साथ एक ही आवेदन के एक सौ गुना तैनात करने का अनुभव है?

धन्यवाद,

Olgierd

+0

अगर कोई इस प्रश्न के बारे में चर्चा करने में रूचि रखता है , इसे यहां और अधिक सफलतापूर्वक पोस्ट किया गया है: http://www.java.net/forum/topic/glassfish/glassfish/multiinstance-appliciation-architecture-and-deployment-glassfish-app-server?force=691 – rsc

उत्तर

1

यदि आप तो अब GF 3 ढेर .. आप देखेंगे कि इस उत्पाद OSGi वास्तुकला से लाभ लेने के लिए पुनर्संशोधित किया गया का उपयोग आप बंडलों या यहाँ तक कि .wab फ़ाइलें तैनात कर सकते हैं

  • स्वतंत्र रूप से पुनः आरंभ अनुप्रयोगों विभिन्न मॉड्यूल के संस्करणों
  • को रोकने के लिए/
  • का प्रबंधन: (वेब ​​अनुप्रयोग बंडलों) GF3.This वास्तुकला में करने में सक्षम करेगा
  • अपने अनुप्रयोगों पर्म पीढ़ी अंतरिक्ष की बर्बादी से बचने के लिए आम बंडलों प्रदान करने के लिए ...

लेकिन अपने प्रश्न में मैं नहीं समझ सकता एक भी जावा वर्चुअल मशीन के साथ विभिन्न प्रक्रियाओं मॉडल कैसे .... एक वर्चुअल मशीन 1 प्रक्रिया (ओएस स्तर पर) का अर्थ है और आप उस के खिलाफ कुछ नहीं कर सकते ..

OSGi मंच आप कई अपने अनुप्रयोगों के लिए और सॉफ्टवेयर प्रतिरूपकता के लिए SLA आवश्यकताओं के बारे में फायदे ... HTH जेरोम लाता है

+0

प्रश्न था क्या जीएफ में बहु-आवृत्ति वास्तुकला हासिल करना संभव है। AFAIK ओएसजीआई भी इसके साथ मदद नहीं करता है। ऐसा लगता है कि, बहुआयामी वास्तुकला यहां अधिक प्राकृतिक है (http://en.wikipedia.org/wiki/Multitenancy)। – rsc

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