𝗖𝗿𝗲𝗮𝘁𝗶𝗻𝗴 𝗮𝗻𝗱 𝗥𝘂𝗻𝗻𝗶𝗻𝗴 𝗮 𝗦𝗲𝗿𝘃𝗲𝗿
ஒரு சர்வர் என்பது உங்கள் வலைச் செயலியின் (web application) இதயம் போன்றது. Hyperlane அவற்றை உருவாக்குவதையும் நிர்வகிப்பதையும் எளிதாக்குகிறது. உங்கள் தேவைகளைப் பொறுத்து வேகம் அல்லது கட்டுப்பாடு ஆகியவற்றில் ஒன்றைத் தேர்ந்தெடுக்கலாம்.
ஒரு சர்வரை உருவாக்க மூன்று வழிகள்:
• விரைவான அமைப்பிற்கு (quick setup) Server::default() ஐப் பயன்படுத்தவும். இது சோதனை அல்லது எளிய செயலிகளுக்குச் சிறந்தது. இது முகவரிகள் மற்றும் வரம்புகளுக்கான (limits) முன் அமைக்கப்பட்ட (preset) அமைப்புகளைப் பயன்படுத்துகிறது.
• முழுமையான கட்டுப்பாட்டிற்கு ServerConfig ஐப் பயன்படுத்தவும். இது bind address, TCP options அல்லது TTL ஆகியவற்றை மாற்ற அனுமதிக்கிறது.
• கோரிக்கை விவரங்களை (request details) நிர்வகிக்க RequestConfig ஐப் பயன்படுத்தவும். இது buffer sizes மற்றும் timeouts ஆகியவற்றைச் சரிசெய்யச் சிறந்தது.
வாழ்ச் சுழற்சியை (lifecycle) நிர்வகித்தல்:
run() முறையைப் பயன்படுத்தி நீங்கள் ஒரு சர்வரைத் தொடங்கியதும், உங்களுக்கு ஒரு ServerControlHook கிடைக்கும். இந்தத் கருவி உங்களுக்கு இரண்டு முக்கிய விருப்பங்களை வழங்குகிறது:
wait(): நீங்கள் நிறுத்தும் வரை இது சர்வரை இயங்க வைக்கும். நிரல் (program) முடிந்து வெளியேறுவதைத் தடுக்க, உங்கள் main function-இன் இறுதியில் இதைப் பயன்படுத்தவும்.shutdown(): இது சர்வரை முறையாக (gracefully) நிறுத்தும். இது மூடுவதற்கு முன் தற்போதைய கோரிக்கைகளை (current requests) நிறைவு செய்யும். இது தயாரிப்புச் சூழலில் (production) தரவு இழப்பைத் தடுக்கிறது.
மேம்பட்ட விருப்பங்கள்:
Hyperlane குறியீட்டை (code) எளிமையாக்க attribute macros-களைப் பயன்படுத்துகிறது. நீங்கள் சர்வர் மாறிகளை (variables) நேரடியாக உங்கள் functions-க்குள் செலுத்த முடியும். இது உங்கள் அமைப்பைத் தூய்மையாகவும், declarative ஆகவும் மாற்றுகிறது.
நீங்கள் ஒரே நேரத்தில் பல சர்வர்களை இயக்கலாம். வெவ்வேறு போர்ட்களில் (ports) வெவ்வேறு செயலிகளை இயக்க Tokio ஐப் பயன்படுத்தவும். இது பின்வருவனவற்றிற்குச் சிறப்பாகச் செயல்படும்:
- தனித்தனி போர்ட்களில் HTTP மற்றும் HTTPS-ஐ இயக்குதல்.
- வெவ்வேறு API பதிப்புகளை வழங்குதல்.
- ஒரே செயல்முறையில் (process) microservices-களை ஹோஸ்ட் செய்தல்.
- முக்கிய செயலிகளை health checks-லிருந்து பிரித்தல்.
ஒரு சர்வரைத் தொடங்கும்போது எப்போதும் பிழைகளைக் (errors) கையாளவும். ஆக்கிரமிக்கப்பட்ட போர்ட்கள் (occupied ports) அல்லது அனுமதிப் பிழைகள் (permission errors) ஆகியவை பொதுவான சிக்கல்கள் ஆகும். உங்கள் செயலி நிலையாக இருப்பதை உறுதி செய்ய உங்கள் முடிவுகளைச் சரிபார்க்கவும்.
Project Code: https://github.com/hyperlane-dev/hyperlane Source: https://dev.to/tengxgfyrz67s/creating-and-running-a-server-5ama