நிறுவல் கட்டமைப்பு: பூஜ்ஜிய-இடைநிறுத்தம் உற்பத்தி அமைப்பு

இந்தக் கட்டுரை, தானியங்கி மறுதொடக்கங்கள் மற்றும் பூஜ்ஜிய இடைநிறுத்தத்துடன் வலைத்தளத்தை எவ்வாறு நாங்கள் நிறுவி இயக்குகிறோம் என்பதை விளக்குகிறது.

பிரச்சனை: கைமுறை நிறுவல் ஆபத்தானது

பாரம்பரிய நிறுவலுக்கு இது தேவைப்படுகிறது:

  • கைமுறை சேவையக மறுதொடக்கம்: இடைநிறுத்தத்தை ஏற்படுத்துகிறது

  • சேவை கண்காணிப்பு: செயலிழப்புகளை யாரோ ஒருவர் கவனிக்க வேண்டும்

  • குறியீடு புதுப்பிப்புகள்: SSH அணுகல் மற்றும் கைமுறை படிகள் தேவை

  • பின்வாங்கல்: ஏதாவது சிதைந்தால் கைமுறை செயல்முறை

இது அளவிட முடியாது மற்றும் புதுப்பிப்புகளின் போது இடைநிறுத்தத்தை ஏற்படுத்துகிறது.

தீர்வு: Systemd உடன் தானியங்கி நிறுவல்

பயன்பாட்டை நிர்வகிக்க நாங்கள் systemd ஐப் பயன்படுத்துகிறோம் (உள்கட்டமைப்பு கண்ணோட்டத்தைப் பார்க்கவும்):

  • தானியங்கி மறுதொடக்கம்: செயலிழப்பு அல்லது குறியீடு மாற்றத்தின் போது தானாகவே மறுதொடங்குகிறது

  • பூஜ்ஜிய இடைநிறுத்தம்: மென்மையான தொழிலாளி மறுதொடக்கங்கள்

  • பதிவுகள்: மையப்படுத்தப்பட்ட பதிவு மேலாண்மை

  • செயல்முறை மேலாண்மை: தொழிலாளி வாழ்க்கைச் சுழற்சியைக் கையாள்கிறது

சேவையக உள்கட்டமைப்பு

உற்பத்தி சேவையகம்

உற்பத்தி சேவையகம் பொது மக்களுக்கான வலைத்தளத்தை வழங்குகிறது:

  • நோக்கம்: பொருள் பட்டியல் மற்றும் மின்வணிகத்தை வழங்கும் பொது வலைத்தளம்

  • தொகுதி: "வலை" மட்டுமே

  • சூழல்: உற்பத்தி (Gunicorn + systemd)

  • அணுகல்: பொது (உள்நுழைவு தேவையில்லை)

பயன்பாடு சேவையகம்

Gunicorn

Gunicorn என்பது உற்பத்தி வலை சேவையகமாகும்:

  • பல-தொழிலாளர்: பல தொழிலாளர் செயல்முறைகள்

Systemd ஒருங்கிணைப்பு

Systemd ஆனது Gunicorn ஐ நிர்வகிக்கிறது:

  • தானியங்கி தொடக்கம்: சேவையகம் துவங்கும் போது

  • தானியங்கி மறுதொடக்கம்: செயலிழப்பு அல்லது குறியீடு மாற்றத்தின் போது

  • பதிவுகள்: Systemd பத்திரிகை ஒருங்கிணைப்பு

  • செயல்முறை மேலாண்மை: தொழிலாளி வாழ்க்கைச் சுழற்சி

உள்ளமைவு

சூழல் உள்ளமைவு

உள்ளமைவானது சூழல்-குறிப்பிட்டது:

  • உள்ளமைவு கோப்புகள்: சூழல்-குறிப்பிட்ட அமைப்புகள்

  • JSON வடிவம்: சாவி-மதிப்பு ஜோடிகள்

  • சூழல் மாறிகள்: இரகசியங்கள் மற்றும் API சாவிகள்

  • தொகுதி செயல்படுத்தல்: எந்த அம்சங்கள் ஏற்றப்படுகின்றன என்பதைக் கட்டுப்படுத்துகிறது

நிலையான சொத்துகள்

நிலையான சொத்துகள் S3 இலிருந்து CloudFront CDN மூலம் வழங்கப்படுகின்றன:

  • S3 வாளி: நிலையான கோப்புகளுக்கான பொருள் சேமிப்பு

  • CloudFront: உலகளாவிய சொத்து விநியோகத்திற்கான CDN

  • தற்காலிக சேமிப்பு: நிலையான உள்ளடக்கத்திற்கு நீண்ட TTL

  • பதிப்பேற்றம்: பதிப்பு எண்களுடன் தற்காலிகச் சேமிப்பை உடைத்தல்

நிறுவல் செயல்முறை

குறியீடு நிறுவல்

குறியீடானது Git மூலம் நிறுவப்படுகிறது, systemd பயன்பாட்டு சேவையை நிர்வகிக்கிறது:

  1. கமிட் மற்றும் புஷ் செய்யவும்: மாற்றங்கள் Git களஞ்சியத்திற்கு முன்னேற்றப்படுகின்றன
  2. சேவையகத்தில் இழுக்கவும்: குறியீடு உற்பத்தி சேவையகத்திற்கு இழுக்கப்படுகிறது
  3. Systemd மறுதொடக்கம்: சேவை செயலிழப்பின் போது தானாகவே மறுதொடங்குகிறது

உள்ளமைவு நிறுவல்

உள்ளமைவானது குறியீட்டிலிருந்து தனித்தனியாக நிர்வகிக்கப்படுகிறது:

  1. உள்ளமைவு கோப்புகள்: Git இல் JSON உள்ளமைவு கோப்புகள்
  2. சூழல் மாறிகள்: சூழலில் இருந்து ஏற்றப்படும் இரகசியங்கள்
  3. தொகுதி செயல்படுத்தல்: எந்த அம்சங்கள் ஏற்றப்படுகின்றன என்பதைக் கட்டுப்படுத்துகிறது

கண்காணிப்பு

ஆரோக்கிய சோதனைகள்

ஆரோக்கிய முனைகள் சேவையக நிலையைக் கண்காணிக்கின்றன:

  • ஆரோக்கிய முனை: அடிப்படை ஆரோக்கிய சோதனை

  • தரவுத்தள சோதனை: தரவுத்தள இணைப்புத்திறன்

  • தற்காலிகச் சேமிப்பு சோதனை: தற்காலிகச் சேமிப்பு இணைப்புத்திறன்

பதிவுகள்

பதிவுகள் பல இடங்களில் சேமிக்கப்படுகின்றன:

  • Gunicorn பிழை பதிவுகள்: பயன்பாட்டு பிழைகள்

  • Gunicorn அணுகல் பதிவுகள்: HTTP கோரிக்கைகள்

  • சேவை பதிவுகள்: Systemd பத்திரிகை

சுருக்கம்

நிறுவல் கட்டமைப்பு வழங்குகிறது:

  • Gunicorn: உற்பத்தி WSGI சேவையகம்

  • Systemd: தானியங்கி மறுதொடக்கம் மற்றும் செயல்முறை மேலாண்மை

  • Git நிறுவல்: குறியீடு மற்றும் உள்ளமைவு மேலாண்மை

  • S3 + CloudFront: நிலையான சொத்து விநியோகம்

  • ஆரோக்கிய கண்காணிப்பு: ஆரோக்கிய சோதனை முனைகள்

  • பதிவுகள்: பிழை மற்றும் அணுகல் பதிவுகள்