Load Balancer क्या है? और इसके प्रकार कौन – कौन से होते है?

इस पोस्ट में आज हम लोड बैलेंसर क्या होता है। (what is load balancer) और लोड बैलेंसर के प्रकार कौन – कौन से होते है। (types of load balancer) आदि के बारे में बात करने बाले है। और यह भी जानेगे की Load Balancer काम कैसे करता है। तो चलिए शुरू करते है और लोड बैलेंसर से सम्बंधित कुछ जानकरी के बारे में जानते है।

What is Load Balancer in Hindi

अगर हम लोड बैलेंसर को परिभाषित करना चाहे तो हम इसे software application या फिर एक तरह की network devices के रूप में कर सकते है। यह किसी भी सर्वर के बीच जो ट्रैफिक होता है उसे balances या distributes करता है।

यह ट्रैफिक को balances या distributes इस लिए करता है ताकि उच्च उपलब्धता, server का Efficient उपयोग और अच्छा Performance सुनिश्चित किया जा सके। एक लोड बैलेंसर आपके सर्वर में एक “traffic police” की तरह काम करता है जो आपके सर्वर के सामने हमेशा बैठा रहता है। और जितने भी सर्वर होते है उन पर Client की Requests को root करता है।

यह सिर्फ जितने भी request के सेट होते है उन को उन को अलग – अलग करके कई सारे servers को effectively, distribute कर देता है। और फिर servers को अच्छी तरह से check करके यह भी सुनिश्चित करता कि किसी भी सर्वर पर ज्यादा load ना पड़े।

Load Balancer का ज्यादा तर उपयोग data centers, cloud computing domains और web applications आदि में किया जाता है। और इन सभी में लोड बैलेंसर का उपयोग इन में होने बाले traffic flow को मैनेज करने के लिए किया जाता है। अगर बात करे तो सबसे ज्यादा इस का उपयोग web applications में किया जाता है।

Key characteristics of Load Balancers

  1. Health Monitoring
  2. High Availability
  3. Optimization
  4. Traffic Distribution
  5. SSL Termination
  6. Scalability

Health Monitoring

Health Monitoring की सहायता से Load balancers हमेशा सर्वर के स्वास्थ्य की निगरानी करता है। और फिर उस की सहायता से ट्रैफिक को उन सर्वर से दूर भेज देता है जो problems और downtime का सामना कर रहे है।

High Availability

इस की सहायता से Load balancers सर्वर पर जो ट्रैफिक होता है उसे अलग – अलग बांटकर किसी application की Availability और reliability बढ़ाता है। अगर कोई भी सर्वर किसी कारण से fail हो जाता है। तो लोड बैलेंसर उस ट्रैफिक को उन servers को भेज देता है जो सही तरह से काम कर रहे है।

Optimization

Load balancers सर्वर की क्षमता को एक अच्छी तरह से ensure करने के लिए बेहतरीन तरीके से resources का उपयोग करता है।

Traffic Distribution

Traffic Distribution में लोड बैलेंसर उन requests को वितरित करने का काम करता है। जो समान रूप से कई सारे servers के बीच आते है और इस की सहायता से यह किसी भी एक सर्वर को ओवरलोड होने से रोकता है।

SSL Termination

इस में कई सारे ऐसे भी Load balancers होते है जो SSL/TLS encryption and decryption को एक बेहतरीन तरीके से सभाल सकते है। जिसके कारण यह Resource-intensive काम किसी एक सर्वर से दूर हो कर उनके पास चला जाता है।

Scalability

Load balancers जो है वह एक तरह से अगर किसी एक सर्वर पर ट्रैफिक बढ़ जाता है तो उस ट्रैफिक को संभालने के लिए एक नए सर्वर या Resources को जोड़कर Horizontal scaling को सरल बनाते है।

Types of Load Balancers – लोड बैलेंसर के प्रकार

Types of Load Balancers
Types of Load Balancers

बैसे तो लोड बैलेंसर के कई प्रकार है लेकिन हम ने यहाँ सिर्फ इसके मुख्य four types के बारे में बात की है जो नीचे दिए हुए है।

  1. Software Load Balancers in Clients
  2. Software Load Balancers in Services
  3. Hardware Load Balancers
  4. Virtual Load Balancers

Software Load Balancers in Clients

लोड बैलेंसर में अगर हम Software Load Balancers in Clients की बात करे तो हम इस के नाम से ही पता चलता है। की Load Balancers में जितने भी logic Clients होते है वह सभी application पर रहते है। उदाहरण के लिए जैसे – किसी मोबाइल phone में एक app. इस में जो क्लाइंट के द्वारा application को Conversation करने के लिए web servers/application servers की एक पूरी list प्रदान कराई जाती है।

  • इस में जो application होता है वह सबसे पहले web servers/application servers की जो लिस्ट होती है उन में से एक सर्वर को चुनते है। फिर उसके बाद यह उस सर्वर से data की request भेजता है।
  • अगर कोई सर्वर बार – बार प्रयास करने के बाद भी fail होता रहता है और फिर उसके वह अनुपलब्ध हो जाता है। तो लोड बैलेंसर के पास जो servers की लिस्ट है उस में से किसी दूसरे सर्वर को select करके उस के साथ काम करना जारी करता है। और जो पिछला सर्वर होता है उसे छोड़ देता है।
  • Software Load Balancers in Clients जो है वह लोड बैलेंसर को सर्वर में लागू करने के लिए सबसे सस्ते तरीको में से एक तरीका है।

Software Load Balancers in Services

यह जो load balancers होते है वह एक तरह से software के ही टुकड़े है जो उन सेट को प्राप्त करता है जो कई सारे request से मिल कर बना होता है। और इस में कुछ सेट दिए होते है जिन में कुछ rules होते है जिन के अनुशार ही यह उन request को redirect करता है। ये जो लोड बैलेंसर होता है वह लचीला पन बहुत ज्यादा प्रदान करता है। क्योकि इस तरह के load balancers जो होते है वह किसी भी Standard Device के ऊपर स्थापित किए जा सकते है जैसे – Windows or Linux machine आदि।

  • इस के उपयोग के लिए हमें बहुत कम खर्चा करना पड़ता है। क्योकि Software Load Balancers में हमें Hardware Load Balancers की तरह किसी भी प्रकार की physical डिवाइस को खरीदने या उसे maintainकरने की जरूरत नहीं होती है।
  • इस आपको एक और option भी मिलता है जिस में आप off-the-shelf software load balancer का भी उपयोग कर सकते है। साथ ही अगर load का balance बनाए रखने के लिए कोई custom सॉफ्टवेयर है तो आप उस का भी लिख सकते है। जैसे – Microsoft Office365 की लोड बैलेंस Active Directory Queries.

Hardware Load Balancers

जैसा की Hardware Load Balancers के नाम से ही पता चलता है की इस लोड बैलेंसर में जो नेटवर्क सर्वर होता है। उस में Physical Devices का उपयोग करते है जिस की सहायता से हम नेटवर्क सर्वर के cluster में ट्रैफिक को अलग – अलग करके डिस्ट्रीब्यूट कर सकते है।

इस प्रकार के load Balancers को हम 4-7 राउटर के रूप में भी जाने जाते है। और यह HTTP, HTTPS, TCP और UDP आदि जैसे सभी प्रकार के ट्रैफिक को संभालने में भी सक्षम है। HLDs बाहरी की दुनिया को एक वर्चुअल सर्वर एड्रेस प्रदान करते हैं।

  • जब कभी भी किसी क्लाइंट application से request आती है तो यह load balancer उस request को उन real server को Forword कर देता है जो suitable होते है। और Forword करने के बाद bi-directional network address translation (NAT) करता है।
  • HLDs जो होता है में ट्रैफिक कितनी बड़ी मात्रा में transportation क्यों ना हो उसे आसानी से संभाल सकता है। लेकिन इस की जो price होती है वह बहुत ज्यादा होती है और इसमें लचीना पन भी सीमित होता है।
  • इस तरह के जो लोड बैलेंसर होते है वह हर एक सर्वर की health की जाँच बार – बार करता रहता है। और फिर जाँच पूरी होने के बाद यह सुनिश्चित करते है की जितने भी सर्वर है वह सही से respond कर रहे है या नहीं।
  • यदि किसी कारण से कोई सर्वर Desired Response नहीं देता है तो यह उन सर्वर को ट्रैफिक भेजना बंद कर देता है।

Virtual Load Balancers

Virtual Load Balancers जो है वह भी एक प्रकार का Load Balance करने का Solution होता है। जो किसी भी वर्चुअल मशीन (VM) या वर्चुअलाइज्ड वातावरण में software के रूप में लागू किया जाता है, जैसे VMware, Hyper-V, या KVM आदि जैसी Virtualization Technologies का उपयोग करने वाले data सेंटर्स।

यह network ट्रैफिक को कई सारे अलग – अलग सर्वरों या Resources में distributed करके, संसाधनों का Efficient उपयोग ensure करने, प्रतिक्रिया समय को अच्छी तरीका से बनाने और सर्वर पर Extra Load से बचाने में मदद करता है।

Reference: https://www.geeksforgeeks.org/what-is-load-balancer-system-design/

निष्कर्ष (Conclusion)

हम आपसे आशा करते है आपको इस पोस्ट की सहायता से Load Balancer के बारे में कुछ सीखने या जानने को मिला होगा। लेकिन अगर फिर भी आपको इस Load Balance से सम्बंधित कुछ परेशानी हो या कुछ सुझाब देना हो तो आप कमेंट में हमें बता सकते है जिसके जरिए हम इस पोस्ट में सुधार कर सके। Thank You!

Leave a Comment