సర్వర్‌ను సృష్టించడం మరియు రన్ చేయడం

సర్వర్ అనేది మీ వెబ్ అప్లికేషన్‌కు గుండెకాయ వంటిది. Hyperlane వాటిని నిర్మించడం మరియు నిర్వహించడం సులభతరం చేస్తుంది. మీ అవసరాల ఆధారంగా మీరు వేగం మరియు నియంత్రణ మధ్య ఎంచుకోవచ్చు.

సర్వర్‌ను నిర్మించడానికి మూడు మార్గాలు:

• త్వరిత సెటప్ కోసం Server::default() ఉపయోగించండి. ఇది టెస్టింగ్ లేదా సాధారణ అప్లికేషన్‌లకు ఉత్తమమైనది. ఇది అడ్రస్‌లు మరియు పరిమితుల కోసం ముందుగా నిర్ణయించిన సెట్టింగ్‌లను ఉపయోగిస్తుంది. • పూర్తి నియంత్రణ కోసం ServerConfig ఉపయోగించండి. ఇది bind address, TCP ఆప్షన్లు లేదా TTLని మార్చుకోవడానికి అనుమతిస్తుంది. • రిక్వెస్ట్ వివరాలను నిర్వహించడానికి RequestConfig ఉపయోగించండి. బఫర్ సైజులు మరియు టైమ్ అవుట్‌లను సర్దుబాటు చేయడానికి ఇది ఉత్తమమైనది.

లైఫ్ సైకిల్‌ను నిర్వహించడం:

మీరు run() మెథడ్‌తో సర్వర్‌ను ప్రారంభించిన తర్వాత, మీకు ఒక ServerControlHook లభిస్తుంది. ఈ సాధనం మీకు రెండు ప్రధాన ఎంపికలను అందిస్తుంది:

  • wait(): మీరు ఆపేవరకు ఇది సర్వర్‌ను రన్ చేస్తూనే ఉంటుంది. ప్రోగ్రామ్ ముగిసిపోకుండా నిరోధించడానికి మీ మెయిన్ ఫంక్షన్ చివరలో దీనిని ఉపయోగించండి.
  • shutdown(): ఇది సర్వర్‌ను క్రమ పద్ధతిలో (gracefully) ఆపివేస్తుంది. ఇది క్లోజ్ కావడానికి ముందు ప్రస్తుత రిక్వెస్ట్‌లను పూర్తి చేస్తుంది. ఇది ప్రొడక్షన్‌లో డేటా నష్టాన్ని నివారిస్తుంది.

అడ్వాన్స్‌డ్ ఆప్షన్లు:

కోడ్‌ను సరళీకరించడానికి Hyperlane అట్రిబ్యూట్ మాక్రోలను ఉపయోగిస్తుంది. మీరు సర్వర్ వేరియబుల్స్‌ను నేరుగా మీ ఫంక్షన్‌లలోకి ఇంజెక్ట్ చేయవచ్చు. ఇది మీ సెటప్‌ను మరింత క్లీన్‌గా మరియు డెక్‌లరేటివ్‌గా మారుస్తుంది.

మీరు ఒకేసారి బహుళ సర్వర్‌లను కూడా రన్ చేయవచ్చు. వేర్వేరు పోర్ట్‌లపై వేర్వేరు యాప్‌లను రన్ చేయడానికి Tokioని ఉపయోగించండి. ఇది వీటికి బాగా ఉపయోగపడుతుంది:

  • వేర్వేరు పోర్ట్‌లపై HTTP మరియు HTTPSలను రన్ చేయడం.
  • వేర్వేరు API వెర్షన్‌లను అందించడం.
  • ఒకే ప్రాసెస్‌లో మైక్రోసర్వీసులను హోస్ట్ చేయడం.
  • మెయిన్ యాప్‌లను హెల్త్ చెక్‌ల నుండి వేరు చేయడం.

సర్వర్‌ను ప్రారంభించేటప్పుడు ఎల్లప్పుడూ ఎర్రర్‌లను హ్యాండిల్ చేయండి. ఆక్యుపైడ్ పోర్ట్‌లు లేదా పర్మిషన్ ఎర్రర్‌లు సాధారణ సమస్యలు. మీ అప్లికేషన్ స్థిరంగా ఉండేలా చూసుకోవడానికి మీ ఫలితాలను తనిఖీ చేయండి.

Project Code: https://github.com/hyperlane-dev/hyperlane Source: https://dev.to/tengxgfyrz67s/creating-and-running-a-server-5ama