अनुप्रयोग सर्वरों का लोड संतुलन और उच्च उपलब्धता: टॉमकैट, जेबॉस और आईआईएस

श्रेणियाँ देखें

अनुप्रयोग सर्वरों का लोड संतुलन और उच्च उपलब्धता: टॉमकैट, जेबॉस और आईआईएस

9 मिनट पढ़ा

अवलोकन #

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

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

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

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

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

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

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

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

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

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

की स्थापना RELIANOID भार संतुलन #

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

अनुप्रयोग सर्वर योजना

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

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

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

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

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

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

एक बार RELIANOID लोड बैलेंसर स्थापित है, एक नया वर्चुअल आईपी बनाने के लिए इसकी आवश्यकता है, मुख्य मेनू से, का चयन करें नेटवर्क->वर्चुअल इंटरफेस->क्रियाएँ->बनाएँ

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

 

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

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

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

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

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

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

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

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

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

ऊपर दिए गए स्क्रीनशॉट में हमने देखा एक सेवा जोड़ी गई सेवा नाम “app1” के साथ।

 

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

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

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

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

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

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

 

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

ध्यान दें कि, सेवाओं का क्रम सही 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: उन्नत जाँच #

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

check_http -I होस्ट -w 10 -c 10 -t 10 -e 200 -p पोर्ट -s ' '

अंत में, पृष्ठ के नीचे अपडेट पर क्लिक करें।

 

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

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

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

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

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

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

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

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

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 बैकएंड.

📄 इस दस्तावेज़ को पीडीएफ प्रारूप में डाउनलोड करें #

    ई - मेल: *

    द्वारा संचालित बेटरडॉक्स