சர்வர் கட்டமைப்பு
தயாரிப்பு (production) இணைய பயன்பாடுகளுக்குச் சரியான சர்வர் அமைப்பு மிகவும் முக்கியமானது. Hyperlane உங்கள் சர்வரை நிர்வகிக்க இரண்டு வழிகளை வழங்குகிறது: ServerConfig மற்றும் RequestConfig.
ServerConfig என்பது HTTP சர்வரையே நிர்வகிக்கிறது. இதைப் பயன்படுத்தி பின்வருவனவற்றை அமைக்கலாம்:
- Address: அனைத்து இடைமுகங்களிலும் (interfaces) கேட்க (listen) 0.0.0.0:80 ஐப் பயன்படுத்தவும். உங்கள் உள்ளூர் கணினிக்கு (local machine) மட்டும் கட்டுப்படுத்த 127.0.0.1:8080 ஐப் பயன்படுத்தவும்.
- Nodelay: தாமதத்தைக் (latency) குறைக்க இதை true என அமைக்கவும். இது சிறிய பாக்கெட்டுகளை (packets) பஃபர் (buffer) செய்வதற்குப் பதிலாக உடனடியாக அனுப்பும்.
- TTL: இது வெளியேறும் பாக்கெட்டுகளுக்கான Time to Live-ஐ அமைக்கிறது. பெரும்பாலான சந்தர்ப்பங்களில் 128 என்ற மதிப்பு போதுமானது.
RequestConfig தனிப்பட்ட HTTP கோரிக்கைகளை (requests) நிர்வகிக்கிறது. இது உங்கள் சர்வரை வளங்கள் தீர்ந்துபோதல் (resource exhaustion) மற்றும் தாக்குதல்களில் இருந்து பாதுகாக்கிறது. இவற்றை JSON மூலம் அமைக்கலாம்:
- buffer_size: பைட்களில் (bytes) வாசிப்பு பஃபர் அளவு.
- max_path_size: அதிகபட்ச URL பாதையின் நீளம்.
- max_header_count: ஒரு கோரிக்கைக்கான ஹெடர்களின் (headers) வரம்பு.
- max_body_size: அனுமதிக்கப்பட்ட அதிகபட்ச கோரிக்கை உடல் (request body). இது denial-of-service தாக்குதல்களைத் தடுக்கிறது.
- read_timeout_ms: கோரிக்கைத் தரவை வாசிப்பதற்கான கால வரம்பு.
Hyperlane இந்த அமைப்புகளை ஒரு JSON சரத்திலிருந்து (string) ஏற்ற அனுமதிக்கிறது. இது கண்டெய்னரைக்கப்பட்ட (containerized) சூழல்களில் சூழல் மாறிகளை (environment variables) பயன்படுத்துவதை எளிதாக்குகிறது.
தயாரிப்புச் சூழலுக்கான சிறந்த நடைமுறைகள்:
- கட்டமைப்பிற்கு JSON ஐப் பயன்படுத்தவும். இது வரிசைப்படுத்தல்களை (deployments) நெகிழ்வானதாக மாற்றுகிறது.
- கடுமையான கோரிக்கை வரம்புகளை அமைக்கவும். உங்கள் உண்மையான தேவைகளுக்கு ஏற்ப max_body_size ஐ அமைக்கவும்.
- தாமதத்தைக் குறைக்க API சர்வர்களுக்காக nodelay ஐ இயக்கவும்.
- வாசிப்பு காலக்கெடுவை (read timeouts) அமைக்கவும். இது மெதுவான கிளையன்ட்கள் இணைப்புகளைத் திறந்து வைத்திருப்பதைத் தடுக்கும்.
- முடிந்தவரை 0.0.0.0 க்குப் பதிலாக குறிப்பிட்ட இடைமுகங்களுடன் (interfaces) இணைக்கவும்.
Hyperlane குறியீடு அல்லது JSON மூலம் உங்களுக்குக் கட்டுப்பாட்டை வழங்குகிறது. இந்த இரு அடுக்கு அணுகுமுறை உங்கள் சர்வர் வேகமாகவும் பாதுகாப்பாகவும் இருப்பதை உறுதி செய்கிறது.
Project Code: https://github.com/hyperlane-dev/hyperlane Source: https://dev.to/tengxgfyrz67s/server-configuration-1dp9