लोड संतुलन और अनुप्रयोग सर्वर की उच्च उपलब्धता: टॉमकैट, Jboss और IIS

द्वारा प्रकाशित किया गया था Zevenet | 24 फरवरी, 2017

अवलोकन

इस लेख का लक्ष्य यह बताना है कि क्षमताओं के अनुप्रयोग सर्वरों को कैसे बढ़ाया जाए बिल्ला, Jboss or आईआईएस उच्च वेब स्केलेबल बनाने और असफलताओं के प्रति सहिष्णु होने के लिए उच्च उपलब्धता में उन्हें स्थापित करके, और साइबर सुरक्षा को कैसे मजबूत किया जाए।

उच्च उपलब्धता क्या है?

उच्च उपलब्धता एक प्रणाली या घटक की एक गुणवत्ता है जो सामान्य समय की तुलना में अधिक समय तक परिचालन प्रदर्शन के उच्च स्तर का आश्वासन देती है, आमतौर पर अपटाइम।

स्थापित करके आवेदन सर्वर उच्च उपलब्धता में, हम निम्नलिखित मुद्दों को हल करते हैं:

  1. बड़ी मात्रा में अनुरोधों को संभालने पर एक एकल सर्वर दक्षता खो देता है
  2. सर्वर विफलता के मामले में सत्र डेटा संरक्षित है
  3. सेवा को बंद किए बिना आवेदन अद्यतन करना

वेब-स्केल क्या है?

अनुप्रयोग सर्वर को वेब-स्केल सिद्धांतों को लागू करना किसी भी आकार की सभी व्यावसायिक प्रक्रियाओं को विकसित करने, अनुकूलित किए जाने, स्वचालित और प्रभावी रूप से स्केलेबल होने में सक्षम है।

एप्लिकेशन सर्वर क्या है?

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

  1. RSI बिल्ला सॉफ्टवेयर (या Apache Tomcat या Tomcat सर्वर के रूप में भी जाना जाता है): जावा सर्वलेट, जावा सर्वर पेज, जावा एक्सप्रेशन लैंग्वेज और जावा वेबस्केट टेक्नोलॉजी का एक खुला स्रोत कार्यान्वयन।
  2. JBoss or जंगली मक्खी: Red Hat द्वारा विकसित अनुप्रयोग सर्वर।
  3. आईआईएस (इंटरनेट सूचना सेवा): Microsoft द्वारा विकसित अनुप्रयोग सर्वर।

Zevenet लोड Balancer की स्थापना

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

एप्लिकेशन सर्वर योजना

चरण 0: सर्वर प्रतिकृति

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

बिल्ला अंतर्निहित स्मृति सत्र प्रतिकृति प्रदान करता है: DeltaManager और बैकअप प्रबंधक। इन दो प्रतिकृतियों के बीच मुख्य अंतर यह है कि DeltaManager धीमी है, लेकिन विफलता के मामले में अधिक विश्वसनीय है।

JBoss सत्र प्रतिकृति को सक्षम करने का एक सरल तरीका भी प्रदान करता है: एप्लिकेशन को वितरण योग्य के रूप में चिह्नित करके web.xml वर्णनकर्ता।

के लिए सेवा प्रतिकृति आईआईएस का उपयोग करके प्राप्त किया जा सकता है DFSR (वितरित फ़ाइल सिस्टम प्रतिकृति)।

चरण 1: वर्चुअल आईपी बनाएँ

एक बार Zevenet Load Balancer इंस्टॉल हो जाने के बाद, मुख्य मेनू से एक नया वर्चुअल IP बनाने की आवश्यकता है नेटवर्क-> वर्चुअल इंटरफेस-> एक्शन-> क्रिएट करें

वह भौतिक इंटरफ़ेस ढूंढें जहाँ आप वर्चुअल IP बनाना चाहते हैं

 

अपने नए वर्चुअल आईपी का नाम और पता टाइप करें। फिर “Create” बटन पर क्लिक करके इसे सेव करें।

चरण 2: http फार्म बनाएँ

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

इस तरह, एप्लिकेशन सर्वर का एक फार्म स्थापित करके, हम इसके प्रदर्शन और विफलता को सहनशील बढ़ाएंगे, जो उच्च उपलब्धता के लिए आवश्यक है। इस लक्ष्य को हासिल करने के लिए LSLB-> फार्म-> बनाएं

एक नाम चुनें और HTTP प्रोफ़ाइल के रूप में। हम http प्रोफ़ाइल का चयन करते हैं क्योंकि यह वेब सेवाओं के लिए सबसे अच्छा विकल्प है क्योंकि हम उसी वर्चुअल आईपी और पोर्ट के तहत सामग्री स्विचिंग विकल्प प्रदान कर सकते हैं।

दो और विकल्प प्रदर्शित किए जाएंगे। स्टेप 1 और पोर्ट पर बनाए गए वर्चुअल IP का चयन करें (उदाहरण में हम 80 चुनते हैं, क्योंकि यह HTTP प्रोटोकॉल के लिए डिफ़ॉल्ट है) और क्लिक करें। सहेजें बटन.

चरण 3: सेवाएं जोड़ें

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

फार्म के कई विवरण संपादित किए जा सकते हैं, उदाहरण में हम डिफ़ॉल्ट मान और सेवाओं को सेट करने जा रहे हैं।

ऊपर स्क्रीनशॉट में हमारे पास है एक सेवा को जोड़ा सेवा नाम "app1" के साथ।

 

जैसा कि हम एक ही खेत के माध्यम से सभी तीन सेवाओं तक पहुंचेंगे, हमें इन सेवाओं के बीच अंतर करने की आवश्यकता है। ऐसा करने के लिए, हम एक मान सेट कर सकते हैं URL पैटर्न। यह फ़ील्ड उस URL के अनुसार वेब सेवा निर्धारित करने की अनुमति देती है जिसे ग्राहक एक विशिष्ट URL पैटर्न के माध्यम से अनुरोध कर रहा है। हमारे उदाहरण में, हम टाइप करेंगे ^ / App1। *, ^ / App2। * और ^ / App3। *. पर क्लिक करें सुधारे परिवर्तन लागू करने के लिए।

इस बात का ध्यान रखें कि बैकएंड का पता अवश्य लगाएं http://[VIRTUAL_IP]:[PORT]/[YOUR_SERVICE] (हमारे उदाहरण में http://192.168.56.200/app1), यह गारंटी देने के लिए, आपके आवेदन में संदर्भ सेट किया जाना चाहिए। हमारे उदाहरणों में, हम संदर्भ सेट करेंगे / app1 एसटी बिल्ला, / app2 एसटी Jboss और / app3 एसटी आईआईएससंदर्भ एक वेब एप्लिकेशन का प्रतिनिधित्व करता है जो एक विशेष वर्चुअल होस्ट के भीतर चलता है। के विशेष मामले में आईआईएस, संदर्भों को अनुप्रयोगों के रूप में संदर्भित किया जाता है।

इस उदाहरण में, हमारे पास प्रति एप्लिकेशन दो बैकएंड सर्वर हैं। हम IP, पोर्ट (डिफ़ॉल्ट 8080 के लिए) का चयन करते हैं बिल्ला और JBoss, और 80 के लिए आईआईएस), टाइमआउट और वजन और पर क्लिक करें बैकएंड बचाओ बटन.

हम सर्वर कम्यूटेशन से बचना चाहते हैं: यदि हमारे सत्र के दौरान हम एक सर्वर से दूसरे सर्वर पर कूदते हैं, तो दक्षता, डेटा और यहां तक ​​कि संचार हानि भी होगी। ताकि इससे बचा जा सके हठ सत्र कॉन्फ़िगर किया जाना चाहिए। हम सत्र आईडी द्वारा एक सत्र बनाए रखने का चयन करेंगे, तो इसका मतलब है कि सत्र के दौरान, हम केवल एक सर्वर से कनेक्ट करेंगे।

सेवा वैश्विक मापदंडों में हम अब दृढ़ता सत्र क्षेत्र को बदल सकते हैं कुकी: एक निश्चित कुकी

चुनते हैं jsessionid टॉमकैट और जेबॉस के लिए दृढ़ता सत्र पहचानकर्ता के रूप में और सत्र आईडी IIS के लिए, फिर पेज के बोतलों में अपडेट पर क्लिक करें।

 

अब, एक ही खेत के तहत हमने App2 और app1 के लिए App2 की तरह ही 3 और सेवाओं को जोड़ने के लिए, जिसमें JBoss के लिए दृढ़ता कुकी शामिल है (डिफ़ॉल्ट कहा जाता है jsessionid) और IIS (ASP.NET के लिए डिफ़ॉल्ट कुकी है) ASPXAUTH), क्रमशः लेकिन आप एप्लिकेशन द्वारा आवश्यक कुकी का उपयोग कर सकते हैं। खेत की प्रत्येक सेवा के अपने स्वयं के बैकेंड होते हैं जिन्हें खेतों या खेतों की सेवाओं के बीच साझा किया जा सकता है।

ध्यान दें, सही URL पैटर्न से मेल खाने के लिए सेवाओं का क्रम महत्वपूर्ण है।

अंत में, हमें खेत को पुनः आरंभ करके परिवर्तनों को लागू करना चाहिए।

बधाई हो! आपने अपने एप्लिकेशन सर्वर को उच्च उपलब्धता में कॉन्फ़िगर किया है। आप इसे टाइप करके एक्सेस कर सकते हैं http://[VIRTUAL_IP]:[PORT]/[YOUR_SERVICE] (हमारे उदाहरण में http://192.168.56.200/app1, http://192.168.56.200/app2 or http://192.168.56.200/app3).

चरण 4: उन्नत जाँच

अब हम यह सुनिश्चित करने के लिए कि वे ऊपर हैं, चल रहे हैं और आवेदन का सही व्यवहार है, न कि केवल एक टीसीपी पोर्ट की जाँच के लिए, उन्नत स्वास्थ्य जाँच करने के लिए, हम फार्म संरक्षक की स्थापना करेंगे। कृपया पता लगाएं खेत का रखवाला आपकी सेवा में हमने 3 चरण में स्थापित किया है। पर क्लिक करें बैकएंड सर्वर की जांच के लिए फार्मगार्डियन का उपयोग करें, आप चेक और अंत में, के बीच के समय को भी संशोधित कर सकते हैं जाँच करने की आज्ञा टेक्स्टबॉक्स, निम्न कमांड टाइप करें।

check_http -I HOST -w 10 -c 10 -t 10 -e 200 -p PORT -s '</html>'

अंत में, पेज के बोतलों में अपडेट पर क्लिक करें।

 

आदेश check_http निर्दिष्ट होस्ट के साथ HTTP कनेक्शन का परीक्षण करता है। हमारे मामले में, हम निम्नलिखित विकल्पों का उपयोग कर रहे हैं:

-मैं संचालक हूं: टोकन HOST परिभाषित बैकएंड आईपी पते द्वारा प्रतिस्थापित किया जाएगा।
-W 10: चेतावनी की स्थिति में परिणाम के लिए प्रतिक्रिया समय: 10 सेकंड
-सी 10: महत्वपूर्ण स्थिति के लिए प्रतिक्रिया समय: 10 सेकंड
-t 10: कनेक्शन समय से पहले 10 सेकंड
-ई 200: सर्वर प्रतिक्रिया की स्थिति में स्ट्रिंग 200 की अपेक्षा करता है
-पी पोर्ट: टोकन पोर्ट को बैकेंड पोर्ट द्वारा प्रतिस्थापित किया जाएगा।
-s ' ': सामग्री में अपेक्षा के लिए स्ट्रिंग है ' '

तो यह कमांड क्या करेगी मूल रूप से जांच करें कि हमें 200 ओके प्रतिक्रिया मिलती है, और प्रतिक्रिया कमांड में स्ट्रिंग शामिल है ' '। हम इस स्ट्रिंग का चयन करते हैं क्योंकि यह प्रतिक्रिया के अंत में है, इस तरह से हम गारंटी दे सकते हैं कि हमें बैकएंड से पूर्ण उत्तर मिल जाएगा।

चरण 5: उच्च सुरक्षा

सुरक्षित संचार को आसानी से Zevenet Load Balancer के साथ सेट किया जा सकता है, इसलिए HTTPS श्रोता को सक्षम करने के लिए अगला कदम है: फार्म वैश्विक मापदंडों को संपादित करें स्क्रीन, कृपया कृषक श्रोता को HTTP से HTTPS और वर्चुअल पोर्ट से 443 में बदलें।

अब, सेवाओं को टाइप करके पहुँचा जा सकता है https://[Your_virtual_ip]/[yourappservice] अपने ब्राउज़र में.

सुरक्षित संचार अब चल रहे हैं, लेकिन हम HTTPS मापदंडों को कॉन्फ़िगर करके आगे बढ़ सकते हैं: खेत वैश्विक मापदंडों के भीतर, का पता लगाएं एचटीटीपीएस सेटिंग्स अनुभाग। हम बदल सकते हैं सिफर सेवा मेरे उच्च सुरक्षा.

SSL कनेक्शन को कठोर करने के लिए SSL कनेक्शन द्वारा स्वीकार किए गए ciphers की सूची बनाने के लिए ciphers फ़ील्ड का उपयोग किया जाता है। चयन करके उच्च सुरक्षा, हम सिफर को डिफ़ॉल्ट रूप से सेट करेंगे।

kEECDH+ECDSA+AES128:kEECDH+ECDSA+AES256:kEECDH+AES128:kEECDH+AES256:kEDH+AES128:kEDH+AES256:DES-CBC3-SHA:+SHA:!aNULL:!eNULL:!LOW:!kECDH:!DSS:!MD5:!EXP:!PSK:!SRP:!CAMELLIA:!SEED

एक अन्य विकल्प है HTTPS प्रमाण पत्र उपलब्ध: प्रमाणपत्रों की एक सूची को वर्तमान खेत (केवल HTTP खेतों के लिए, जो हमारा मामला है) के लिए चुना जाना दिखाया जाएगा। हम सूची में से एक का चयन कर सकते हैं और उस पर क्लिक कर सकते हैं जोड़ना। अंत में, पर क्लिक करें सुधारे और परिवर्तनों को लागू करने के लिए खेत को पुनः आरंभ करें।

अधिक जानकारी के लिए, कृपया देखें HTTP प्रोफ़ाइल फ़ार्म.

HTTPS को आपके एप्लिकेशन सर्वर में भी सक्षम किया जा सकता है, यदि यह स्थिति है, तो आपके विकल्प को सक्षम करना होगा HTTPS का खर्च.

पर साझा करें:

GNU फ्री डॉक्यूमेंटेशन लाइसेंस की शर्तों के तहत प्रलेखन।

क्या यह लेख सहायक था?

संबंधित आलेख