वेबसॉकेट कनेक्शन के लिए HAProxy को कैसे कॉन्फ़िगर करें

Vebasoketa Kaneksana Ke Li E Haproxy Ko Kaise Konfigara Karem



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

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

वेबसॉकेट कनेक्शन के लिए HAProxy को कैसे कॉन्फ़िगर करें, इस पर चरण-दर-चरण मार्गदर्शिका

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







1. HAProxy स्थापित करें

WebSocket कनेक्शन के लिए HAProxy को कॉन्फ़िगर करने का पहला चरण यह सुनिश्चित करना है कि आपके पास HAProxy स्थापित है। यदि आपने इसे पहले ही इंस्टॉल कर लिया है, तो इस चरण को छोड़ दें। अन्यथा, इसे स्थापित करने के लिए निम्न कमांड चलाएँ:



$ सूडो उपयुक्त-स्थापित करें haproxy



2. HAProxy कॉन्फ़िगरेशन संपादित करें

WebSocket कनेक्शन के लिए HAProxy को कॉन्फ़िगर करने के लिए, हमें WebSocket कनेक्शन का समर्थन करने के लिए HAProxy कॉन्फ़िगरेशन को संपादित करना होगा। हमें 'डिफ़ॉल्ट्स' अनुभाग को संशोधित करना होगा और 'फ्रंटएंड' और 'बैकएंड' अनुभाग बनाना होगा।





टेक्स्ट एडिटर का उपयोग करके HAProxy कॉन्फिगरेशन को निम्नानुसार खोलें:

$ सूडो नैनो / वगैरह / haproxy / haproxy.cfg

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



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

इसके बाद, हमें 'फ्रंटएंड' अनुभाग बनाना होगा जहां हम वेबसॉकेट कनेक्शन के लिए उपयोग किए जाने वाले पोर्ट और संदर्भ के लिए किस बैकएंड सर्वर को बांधते हैं। इस मामले के लिए, हम पोर्ट 80 निर्दिष्ट करते हैं और हमारे HAProxy की निगरानी के लिए 'आँकड़े' पृष्ठ तक पहुँचने के लिए URL देते हैं। अंत में, हम परिभाषित करते हैं कि लोड संतुलन में किस बैकएंड अनुभाग को संदर्भित किया जाना चाहिए।

'बैकएंड' अनुभाग में, हम राउंड रॉबिन का उपयोग करके लोड वितरित करते हैं। 'विकल्प फ़ॉरवर्ड फ़ॉर' HAProxy को 'X-फ़ॉरवर्ड-फ़ॉर' हेडर शामिल करने के लिए निर्दिष्ट करता है जिसमें कनेक्शन अनुरोध भेजते समय क्लाइंट का आईपी पता शामिल होता है। इस तरह, बैकएंड सर्वर को सही क्लाइंट आईपी मिलेगा।

'विकल्प http-सर्वर-क्लोज़' किसी भी निष्क्रिय कनेक्शन को सर्वर संसाधन लेने से रोककर संसाधनों को प्रतिबंधित करता है। हालाँकि वेबसॉकेट कनेक्शन लंबे समय तक चलने वाले हैं, हमें निष्क्रिय लंबे समय तक चलने वाले कनेक्शनों की जांच करनी चाहिए और अनावश्यक संसाधन बर्बादी से बचने के लिए उन्हें बंद करना चाहिए।

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

आपका HAProxy अब WebSocket कनेक्शन के लिए कॉन्फ़िगर किया गया है। परिवर्तन सहेजें और फ़ाइल बंद करें।

3. वैधता के लिए परीक्षण

HAProxy को पुनरारंभ करने से पहले, हम यह जांचने के लिए एक त्वरित कमांड चला सकते हैं कि फ़ाइल वैध है या नहीं और इसमें कोई त्रुटि नहीं है। उसके लिए, निम्न आदेश चलाएँ:

$ सूडो haproxy -सी -एफ / वगैरह / haproxy / haproxy.cfg

4. वेबसॉकेट कनेक्शन को पुनरारंभ करें और परीक्षण करें

एक बार फ़ाइल मान्य हो जाने पर, HAProxy सेवा को पुनरारंभ करें।

इतना ही। आपने WebSocket कनेक्शन के लिए HAProxy को कॉन्फ़िगर किया है। आप यह सुनिश्चित करने के लिए कनेक्शन का परीक्षण कर सकते हैं कि सभी वेबसॉकेट ट्रैफ़िक सही ढंग से अग्रेषित किया गया है।

निष्कर्ष

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