சர்வர் கட்டமைப்பு

தயாரிப்பு (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