நிறுவல் கட்டமைப்பு: பூஜ்ஜிய-இடைநிறுத்தம் உற்பத்தி அமைப்பு
இந்தக் கட்டுரை, தானியங்கி மறுதொடக்கங்கள் மற்றும் பூஜ்ஜிய இடைநிறுத்தத்துடன் வலைத்தளத்தை எவ்வாறு நாங்கள் நிறுவி இயக்குகிறோம் என்பதை விளக்குகிறது.
பிரச்சனை: கைமுறை நிறுவல் ஆபத்தானது
பாரம்பரிய நிறுவலுக்கு இது தேவைப்படுகிறது:
-
கைமுறை சேவையக மறுதொடக்கம்: இடைநிறுத்தத்தை ஏற்படுத்துகிறது
-
சேவை கண்காணிப்பு: செயலிழப்புகளை யாரோ ஒருவர் கவனிக்க வேண்டும்
-
குறியீடு புதுப்பிப்புகள்: SSH அணுகல் மற்றும் கைமுறை படிகள் தேவை
-
பின்வாங்கல்: ஏதாவது சிதைந்தால் கைமுறை செயல்முறை
இது அளவிட முடியாது மற்றும் புதுப்பிப்புகளின் போது இடைநிறுத்தத்தை ஏற்படுத்துகிறது.
தீர்வு: Systemd உடன் தானியங்கி நிறுவல்
பயன்பாட்டை நிர்வகிக்க நாங்கள் systemd ஐப் பயன்படுத்துகிறோம் (உள்கட்டமைப்பு கண்ணோட்டத்தைப் பார்க்கவும்):
-
தானியங்கி மறுதொடக்கம்: செயலிழப்பு அல்லது குறியீடு மாற்றத்தின் போது தானாகவே மறுதொடங்குகிறது
-
பூஜ்ஜிய இடைநிறுத்தம்: மென்மையான தொழிலாளி மறுதொடக்கங்கள்
-
பதிவுகள்: மையப்படுத்தப்பட்ட பதிவு மேலாண்மை
-
செயல்முறை மேலாண்மை: தொழிலாளி வாழ்க்கைச் சுழற்சியைக் கையாள்கிறது
சேவையக உள்கட்டமைப்பு
உற்பத்தி சேவையகம்
உற்பத்தி சேவையகம் பொது மக்களுக்கான வலைத்தளத்தை வழங்குகிறது:
-
நோக்கம்: பொருள் பட்டியல் மற்றும் மின்வணிகத்தை வழங்கும் பொது வலைத்தளம்
-
தொகுதி: "வலை" மட்டுமே
-
சூழல்: உற்பத்தி (Gunicorn + systemd)
-
அணுகல்: பொது (உள்நுழைவு தேவையில்லை)
பயன்பாடு சேவையகம்
Gunicorn
Gunicorn என்பது உற்பத்தி வலை சேவையகமாகும்:
- பல-தொழிலாளர்: பல தொழிலாளர் செயல்முறைகள்
Systemd ஒருங்கிணைப்பு
Systemd ஆனது Gunicorn ஐ நிர்வகிக்கிறது:
-
தானியங்கி தொடக்கம்: சேவையகம் துவங்கும் போது
-
தானியங்கி மறுதொடக்கம்: செயலிழப்பு அல்லது குறியீடு மாற்றத்தின் போது
-
பதிவுகள்: Systemd பத்திரிகை ஒருங்கிணைப்பு
-
செயல்முறை மேலாண்மை: தொழிலாளி வாழ்க்கைச் சுழற்சி
உள்ளமைவு
சூழல் உள்ளமைவு
உள்ளமைவானது சூழல்-குறிப்பிட்டது:
-
உள்ளமைவு கோப்புகள்: சூழல்-குறிப்பிட்ட அமைப்புகள்
-
JSON வடிவம்: சாவி-மதிப்பு ஜோடிகள்
-
சூழல் மாறிகள்: இரகசியங்கள் மற்றும் API சாவிகள்
-
தொகுதி செயல்படுத்தல்: எந்த அம்சங்கள் ஏற்றப்படுகின்றன என்பதைக் கட்டுப்படுத்துகிறது
நிலையான சொத்துகள்
நிலையான சொத்துகள் S3 இலிருந்து CloudFront CDN மூலம் வழங்கப்படுகின்றன:
-
S3 வாளி: நிலையான கோப்புகளுக்கான பொருள் சேமிப்பு
-
CloudFront: உலகளாவிய சொத்து விநியோகத்திற்கான CDN
-
தற்காலிக சேமிப்பு: நிலையான உள்ளடக்கத்திற்கு நீண்ட TTL
-
பதிப்பேற்றம்: பதிப்பு எண்களுடன் தற்காலிகச் சேமிப்பை உடைத்தல்
நிறுவல் செயல்முறை
குறியீடு நிறுவல்
குறியீடானது Git மூலம் நிறுவப்படுகிறது, systemd பயன்பாட்டு சேவையை நிர்வகிக்கிறது:
- கமிட் மற்றும் புஷ் செய்யவும்: மாற்றங்கள் Git களஞ்சியத்திற்கு முன்னேற்றப்படுகின்றன
- சேவையகத்தில் இழுக்கவும்: குறியீடு உற்பத்தி சேவையகத்திற்கு இழுக்கப்படுகிறது
- Systemd மறுதொடக்கம்: சேவை செயலிழப்பின் போது தானாகவே மறுதொடங்குகிறது
உள்ளமைவு நிறுவல்
உள்ளமைவானது குறியீட்டிலிருந்து தனித்தனியாக நிர்வகிக்கப்படுகிறது:
- உள்ளமைவு கோப்புகள்: Git இல் JSON உள்ளமைவு கோப்புகள்
- சூழல் மாறிகள்: சூழலில் இருந்து ஏற்றப்படும் இரகசியங்கள்
- தொகுதி செயல்படுத்தல்: எந்த அம்சங்கள் ஏற்றப்படுகின்றன என்பதைக் கட்டுப்படுத்துகிறது
கண்காணிப்பு
ஆரோக்கிய சோதனைகள்
ஆரோக்கிய முனைகள் சேவையக நிலையைக் கண்காணிக்கின்றன:
-
ஆரோக்கிய முனை: அடிப்படை ஆரோக்கிய சோதனை
-
தரவுத்தள சோதனை: தரவுத்தள இணைப்புத்திறன்
-
தற்காலிகச் சேமிப்பு சோதனை: தற்காலிகச் சேமிப்பு இணைப்புத்திறன்
பதிவுகள்
பதிவுகள் பல இடங்களில் சேமிக்கப்படுகின்றன:
-
Gunicorn பிழை பதிவுகள்: பயன்பாட்டு பிழைகள்
-
Gunicorn அணுகல் பதிவுகள்: HTTP கோரிக்கைகள்
-
சேவை பதிவுகள்: Systemd பத்திரிகை
சுருக்கம்
நிறுவல் கட்டமைப்பு வழங்குகிறது:
-
Gunicorn: உற்பத்தி WSGI சேவையகம்
-
Systemd: தானியங்கி மறுதொடக்கம் மற்றும் செயல்முறை மேலாண்மை
-
Git நிறுவல்: குறியீடு மற்றும் உள்ளமைவு மேலாண்மை
-
S3 + CloudFront: நிலையான சொத்து விநியோகம்
-
ஆரோக்கிய கண்காணிப்பு: ஆரோக்கிய சோதனை முனைகள்
-
பதிவுகள்: பிழை மற்றும் அணுகல் பதிவுகள்