HAProxy అనేది ఉచిత మరియు నమ్మదగిన లోడ్ బ్యాలెన్సర్కి ఒక ఉదాహరణ, ఇది రివర్స్ ప్రాక్సీగా కూడా పనిచేస్తుంది. మీరు వెబ్సాకెట్ కనెక్షన్ల కోసం HAProxyని కాన్ఫిగర్ చేయవచ్చు, ముఖ్యంగా రియల్-టైమ్ డేటా బదిలీపై, HAProxyని ఉపయోగించి సర్వర్ లోడ్ను కనిష్టీకరించేటప్పుడు WebSockets ఫీచర్లను మెరుగ్గా ఉపయోగించుకోవచ్చు. ఈ పోస్ట్ WebSocket కనెక్షన్ల కోసం HAProxyని కాన్ఫిగర్ చేయడానికి అవసరమైన అన్ని దశలను అందిస్తుంది.
WebSocket కనెక్షన్ల కోసం HAProxyని ఎలా కాన్ఫిగర్ చేయాలి అనే దానిపై దశల వారీ గైడ్
WebSocket కనెక్షన్లతో, సర్వర్ మరియు క్లయింట్ కమ్యూనికేషన్ దీర్ఘకాలం ఉంటుంది. సర్వర్ లేదా క్లయింట్ దీన్ని మూసివేయాలని నిర్ణయించుకునే వరకు ఇది కొనసాగుతుంది. అందుకని, లోడ్ బ్యాలెన్సర్తో పని చేయడానికి ఒక మార్గాన్ని కలిగి ఉండటం వలన, సర్వర్ ఓవర్లోడ్ అయినట్లయితే ట్రాఫిక్ మరొక సర్వర్కు పంపిణీ చేయబడుతుందని నిర్ధారిస్తుంది. ఆ విధంగా, క్లయింట్ మరియు సర్వర్ తక్కువ జాప్యం వద్ద అంతరాయం లేని మరియు దీర్ఘకాల కనెక్షన్ని ఆస్వాదించవచ్చు.
1. HAProxyని ఇన్స్టాల్ చేయండి
WebSocket కనెక్షన్ల కోసం HAProxyని కాన్ఫిగర్ చేయడానికి మొదటి దశ మీరు HAProxyని ఇన్స్టాల్ చేశారని నిర్ధారించుకోవడం. మీరు దీన్ని ఇప్పటికే ఇన్స్టాల్ చేసి ఉంటే, ఈ దశను దాటవేయండి. లేకపోతే, దీన్ని ఇన్స్టాల్ చేయడానికి కింది ఆదేశాన్ని అమలు చేయండి:
$ సుడో apt-get install హాప్రాక్సీ
2. HAProxy కాన్ఫిగరేషన్ను సవరించండి
WebSocket కనెక్షన్ల కోసం HAProxyని కాన్ఫిగర్ చేయడానికి, WebSocket కనెక్షన్లకు మద్దతివ్వడానికి మేము తప్పనిసరిగా HAProxy కాన్ఫిగరేషన్ను సవరించాలి. మేము తప్పనిసరిగా 'డిఫాల్ట్లు' విభాగాన్ని సవరించాలి మరియు 'ఫ్రంటెండ్' మరియు 'బ్యాకెండ్' విభాగాలను సృష్టించాలి.
కింది విధంగా టెక్స్ట్ ఎడిటర్ని ఉపయోగించి HAProxy కాన్ఫిగరేషన్ను తెరవండి:
$ సుడో నానో / మొదలైనవి / హాప్రాక్సీ / haproxy.cfg'డిఫాల్ట్లు' విభాగంలో, కింది చిత్రంలో ప్రదర్శించిన విధంగా సవరించండి. ముందుగా, మేము HTTP కనెక్షన్లతో పని చేస్తున్నామని పేర్కొంటాము మరియు లాగ్ ఫైల్లను ఎక్కడ పంపాలో నిర్వచించాము. తరువాత, మేము వివిధ కార్యకలాపాల కోసం గడువులను సెట్ చేస్తాము. ఉదాహరణకు, గడువు ముగిసిన కనెక్షన్ అనేది సర్వర్కి కనెక్షన్ ప్రయత్నానికి పట్టే గరిష్ట సమయం. గరిష్ట సమయాన్ని చేరుకున్నట్లయితే, కనెక్షన్ విఫలమైందని నిర్ధారించబడింది మరియు మళ్లీ ప్రయత్నించవచ్చు.
ఈ సందర్భంలో, మేము గడువు ముగింపు కనెక్షన్ని 5000 మిల్లీసెకన్లకు సెట్ చేసాము. మీ కేసు కోసం మీరు వాటిని ఎలా ఉత్తమంగా చూస్తారనే దానిపై మీరు గడువును సర్దుబాటు చేయవచ్చు. మీ అప్లికేషన్ ఆధారంగా వాటిని సర్దుబాటు చేయండి మరియు WebSocket సెషన్ల వ్యవధిని గుర్తుంచుకోండి మరియు అవి ఎంతకాలం జీవించాలని మీరు ఆశిస్తున్నారో గుర్తుంచుకోండి.
తర్వాత, WebSocket కనెక్షన్ల కోసం ఏ పోర్ట్లను ఉపయోగించాలో మరియు సూచించడానికి ఏ బ్యాకెండ్ సర్వర్ని మేము బైండ్ చేసే “ఫ్రంటెండ్” విభాగాన్ని తప్పనిసరిగా సృష్టించాలి. ఈ సందర్భంలో, మేము పోర్ట్ 80ని పేర్కొంటాము మరియు మా HAProxyని పర్యవేక్షించడానికి “గణాంకాలు” పేజీని యాక్సెస్ చేయడానికి URLని అందిస్తాము. చివరగా, లోడ్ బ్యాలెన్సింగ్లో ఏ బ్యాకెండ్ విభాగాన్ని సూచించాలో మేము నిర్వచించాము.
'బ్యాకెండ్' విభాగంలో, మేము రౌండ్ రాబిన్ ఉపయోగించి లోడ్ని పంపిణీ చేస్తాము. కనెక్షన్ అభ్యర్థనను పంపేటప్పుడు క్లయింట్ యొక్క IP చిరునామాను కలిగి ఉన్న 'X-Forward-For' హెడర్ను చేర్చడానికి HAProxyకి 'ముందుకు ఎంపిక' నిర్దేశిస్తుంది. ఆ విధంగా, బ్యాకెండ్ సర్వర్ సరైన క్లయింట్ IPని పొందుతుంది.
'ఎంపిక http-server-close' సర్వర్ వనరులను తీసుకోకుండా ఏవైనా నిష్క్రియ కనెక్షన్లను తొలగించడం ద్వారా వనరులను పరిమితం చేస్తుంది. WebSocket కనెక్షన్లు దీర్ఘకాలికంగా ఉన్నప్పటికీ, అనవసరమైన వనరుల వృధాను నివారించడానికి మనం నిష్క్రియ దీర్ఘ-కాల కనెక్షన్ల కోసం తనిఖీ చేయాలి మరియు వాటిని మూసివేయాలి.
చివరగా, మీరు ట్రాఫిక్ను పంపిణీ చేయడానికి ఉపయోగించే బ్యాకెండ్ సర్వర్లను జోడించండి. మీరు సర్వర్ల కోసం సరైన IP చిరునామాను అందించారని నిర్ధారించుకోండి మరియు క్రింది చిత్రంలో ఉన్న వాటిని భర్తీ చేయండి:
మీ HAProxy ఇప్పుడు WebSocket కనెక్షన్ల కోసం కాన్ఫిగర్ చేయబడింది. మార్పులను సేవ్ చేసి, ఫైల్ను మూసివేయండి.
3. చెల్లుబాటు కోసం పరీక్ష
మేము HAProxyని పునఃప్రారంభించే ముందు, ఫైల్ చెల్లుబాటులో ఉందో లేదో తనిఖీ చేయడానికి మేము శీఘ్ర ఆదేశాన్ని అమలు చేయవచ్చు మరియు లోపం లేదు. దాని కోసం, కింది ఆదేశాన్ని అమలు చేయండి:
$ సుడో హాప్రాక్సీ -సి -ఎఫ్ / మొదలైనవి / హాప్రాక్సీ / haproxy.cfg
4. వెబ్సాకెట్ కనెక్షన్ని పునఃప్రారంభించండి మరియు పరీక్షించండి
ఫైల్ చెల్లుబాటు అయిన తర్వాత, HAProxy సేవను పునఃప్రారంభించండి.
అంతే. మీరు WebSocket కనెక్షన్ల కోసం HAProxyని కాన్ఫిగర్ చేసారు. అన్ని WebSocket ట్రాఫిక్ సరిగ్గా ఫార్వార్డ్ చేయబడిందని నిర్ధారించుకోవడానికి మీరు కనెక్షన్ని పరీక్షించవచ్చు.
ముగింపు
వెబ్సాకెట్ కనెక్షన్ల కోసం HAProxyని కాన్ఫిగర్ చేయడం అనేది ప్రత్యేకంగా వెబ్ నిర్వాహకులు కోరుకునే పరిష్కారం. ఈ పోస్ట్ ప్రక్రియను వివరంగా విశదీకరించింది, మీరు హాయిగా అనుసరించేలా మరియు మీ విషయంలో అదే అమలులో ఉండేలా చూసుకోవడానికి దశలను మరియు ఉదాహరణను అందించింది. ప్రతి దశను అనుసరించండి మరియు మీరు భావన మరియు దానిని అమలు చేసే ప్రక్రియను అర్థం చేసుకున్నారని నిర్ధారించుకోండి.