உங்கள் CDN ஐ உருவாக்குதல் மற்றும் கட்டமைத்தல்

உள்ளடக்க டெலிவரி நெட்வொர்க்குகள் (CDNகள்) வலைத்தளங்கள் மற்றும் பயன்பாடுகளில் முதன்மையாக நிலையான கூறுகளை ஏற்றுவதை விரைவுபடுத்த பயன்படுத்தப்படுகின்றன. வெவ்வேறு புவியியல் பகுதிகளில் அமைந்துள்ள CDN சேவையகங்களில் உள்ள கோப்புகளின் தற்காலிக சேமிப்பு காரணமாக இது நிகழ்கிறது. CDN வழியாக தரவைக் கோருவதன் மூலம், பயனர் அதை அருகிலுள்ள சேவையகத்திலிருந்து பெறுகிறார்.

அனைத்து உள்ளடக்க விநியோக நெட்வொர்க்குகளின் செயல்பாடு மற்றும் செயல்பாட்டின் கொள்கை தோராயமாக ஒரே மாதிரியாக இருக்கும். ஒரு கோப்பைப் பதிவிறக்குவதற்கான கோரிக்கையைப் பெற்ற பிறகு, CDN சேவையகம் அதை அசல் சேவையகத்திலிருந்து ஒரு முறை எடுத்து பயனருக்குக் கொடுக்கிறது, அதே நேரத்தில் ஒரு குறிப்பிட்ட காலத்திற்கு அதை தற்காலிகமாக சேமிக்கிறது. அனைத்து அடுத்தடுத்த கோரிக்கைகளுக்கும் தற்காலிக சேமிப்பில் இருந்து பதிலளிக்கப்படும். அனைத்து CDNகளிலும் கோப்புகளை முன் ஏற்றவும், தற்காலிக சேமிப்பை அழிக்கவும், காலாவதி தேதியை அமைக்கவும் மற்றும் பலவற்றை செய்யவும் விருப்பங்கள் உள்ளன.

ஒரு காரணத்திற்காக அல்லது இன்னொரு காரணத்திற்காக, நீங்கள் உங்கள் சொந்த உள்ளடக்க விநியோக நெட்வொர்க்கை ஒழுங்கமைக்க வேண்டும், பின்னர் - அடுத்த பைக்கை அசெம்பிள் செய்வதற்கான வழிமுறைகள் எங்களுக்கு உதவியாக இருக்கட்டும்.

உங்கள் CDN ஐ உருவாக்குதல் மற்றும் கட்டமைத்தல்
ஆதாரம்: pikisuperstar - www.freepik.com ஆல் உருவாக்கப்பட்ட விளக்கப்பட திசையன்

உங்கள் சொந்த CDN தேவைப்படும்போது

உங்கள் சொந்த CDN ஐ இயக்குவது அர்த்தமுள்ளதாக இருக்கும் நிகழ்வுகளைக் கவனியுங்கள்:

  • பணத்தைச் சேமிக்க ஆசை இருக்கும் போது, ​​மற்றும் மலிவான CDNகளைப் பயன்படுத்தும்போது கூட இயங்கும் செலவுகள் பன்னிசிடிஎன் ஒரு மாதத்திற்கு பல நூறு டாலர்கள்
  • சர்வர் மற்றும் சேனல் அண்டை நாடுகள் இல்லாமல் நிரந்தர கேச் அல்லது கேச் பெற விரும்பினால்
  • CDN சேவைகள் உங்களுக்குத் தேவைப்படும் பகுதியில் இருப்பதற்கான புள்ளிகளைக் கொண்டிருக்கவில்லை
  • ஏதேனும் சிறப்பு உள்ளடக்க விநியோக அமைப்புகள் தேவை
  • தயாரிப்பு சேவையகத்தை பயனர்களுக்கு நெருக்கமாக வைப்பதன் மூலம் டைனமிக் உள்ளடக்கத்தின் விநியோகத்தை விரைவுபடுத்த விரும்புகிறோம்
  • மூன்றாம் தரப்பு CDN சேவையானது பயனர் நடத்தை (ஹலோ அல்லாத GDPR-இணக்க சேவைகள்) பற்றிய தகவல்களை சட்டவிரோதமாக சேகரிக்கலாம் அல்லது பயன்படுத்தலாம் அல்லது பிற சட்டவிரோத செயல்களில் ஈடுபடலாம் என்ற கவலை உள்ளது.

பெரும்பாலான சந்தர்ப்பங்களில், ஏற்கனவே இருக்கும் ஆயத்த தீர்வுகளைப் பயன்படுத்துவது மிகவும் பொருத்தமானது.

நீங்கள் தொடங்க வேண்டியது என்ன

உங்களுடைய சொந்த தன்னாட்சி அமைப்பு (AS) இருந்தால் அது அற்புதம். இதன் மூலம், நீங்கள் ஒரே ஐபியை பல சேவையகங்களுக்கு ஒதுக்கலாம் இந்த அறிவுறுத்தலின் படி பிணைய மட்டத்தில், பயனர்களை அருகில் உள்ள ஒருவருக்கு அனுப்பவும். /24 முகவரித் தொகுதியுடன் கூட, உள்ளடக்க விநியோக நெட்வொர்க்கை உருவாக்க முடியும் என்று சொல்வது மதிப்பு. சில சர்வர் வழங்குநர்கள் தங்களுக்குக் கிடைக்கும் அனைத்துப் பகுதிகளிலும் பயன்படுத்துவதற்கான அறிவிப்பை வெளியிட உங்களை அனுமதிக்கின்றனர்.

IP முகவரிகளின் தொகுதிக்கு நீங்கள் மகிழ்ச்சியான உரிமையாளராக இல்லாவிட்டால், ஒரு எளிய CDN ஐ இயக்க உங்களுக்கு இது தேவைப்படும்:

  • டொமைன் பெயர் அல்லது துணை டொமைன்
  • வெவ்வேறு பிராந்தியங்களில் குறைந்தது இரண்டு சேவையகங்கள். சேவையகம் அர்ப்பணிக்கப்பட்ட அல்லது மெய்நிகர்
  • ஜியோடிஎன்எஸ் கருவி. அதனுடன், பயனர், டொமைனைக் குறிப்பிட்டு, அருகிலுள்ள சேவையகத்திற்கு அனுப்பப்படுவார்

ஒரு டொமைனைப் பதிவுசெய்து சேவையகங்களை ஆர்டர் செய்யுங்கள்

டொமைன் பதிவு மூலம், எல்லாம் எளிது - நாங்கள் எந்த மண்டலத்திலும் எந்த பதிவாளருடனும் பதிவு செய்கிறோம். நீங்கள் CDNக்கான துணை டொமைனையும் பயன்படுத்தலாம், எடுத்துக்காட்டாக இது போன்றது cdn.domainname.com. உண்மையில், எங்கள் எடுத்துக்காட்டில், நாங்கள் அதைச் செய்வோம்.

சேவையகங்களை ஆர்டர் செய்வதைப் பொறுத்தவரை, அவை உங்கள் பயனர் பார்வையாளர்கள் இருக்கும் பகுதிகள் மற்றும் நாடுகளில் வாடகைக்கு எடுக்கப்பட வேண்டும். திட்டம் கண்டங்களுக்கு இடையே இருந்தால், ஒரே நேரத்தில் உலகம் முழுவதும் சேவையகங்களை வழங்கும் ஹோஸ்டிங் வழங்குநர்களைத் தேர்ந்தெடுப்பது வசதியானது. எடுத்துக்காட்டுகள்: OVH, குத்தகை வலை и 100Tb - அர்ப்பணிப்பு சேவையகங்களுக்கு, Vultr и DigitalOcean — மெய்நிகர் மேகத்திற்கு*.

எங்கள் தனிப்பட்ட CDNக்கு, வெவ்வேறு கண்டங்களில் 3 மெய்நிகர் சர்வர்களை ஆர்டர் செய்வோம். மணிக்கு Vultr சேவையகத்தில் $5/மாதம் நாம் பெறுவோம் 25GB SSD இடங்கள் மற்றும் 1TB போக்குவரத்து. நிறுவும் போது, ​​சமீபத்திய டெபியனைத் தேர்ந்தெடுக்கவும். எங்கள் சேவையகங்கள்:

உங்கள் CDN ஐ உருவாக்குதல் மற்றும் கட்டமைத்தல் பிராங்பேர்ட், ip: 199.247.18.199

உங்கள் CDN ஐ உருவாக்குதல் மற்றும் கட்டமைத்தல் சிகாகோ, ip: 149.28.121.123

உங்கள் CDN ஐ உருவாக்குதல் மற்றும் கட்டமைத்தல் Сингапур, ip: 157.230.240.216

*Vultr மற்றும் DigitalOcean ஆகியவை கட்டண முறையைச் சேர்த்தவுடன் கட்டுரையில் உள்ள இணைப்புகள் மூலம் பதிவு செய்யும் பயனர்களுக்கு $100 கிரெடிட் வழங்குவதாக உறுதியளிக்கின்றன. ஆசிரியர் இதிலிருந்து ஒரு சிறிய பாராட்டையும் பெறுகிறார், இது அவருக்கு இப்போது மிகவும் முக்கியமானது. தயவு செய்து புரிந்து கொள்ளுங்கள்.

ஜியோடிஎன்எஸ் அமைக்கிறது

ஒரு டொமைன் அல்லது CDN துணை டொமைனை அணுகும்போது பயனர் விரும்பிய (நெருக்கமான) சேவையகத்திற்கு அனுப்பப்படுவதற்கு, எங்களுக்கு ஜியோடிஎன்எஸ் செயல்பாட்டுடன் கூடிய டிஎன்எஸ் சேவையகம் தேவை.

ஜியோடிஎன்எஸ் கொள்கை மற்றும் செயல்பாடு பின்வருமாறு:

  1. டிஎன்எஸ் கோரிக்கையை அனுப்பிய கிளையண்டின் ஐபி அல்லது கிளையன்ட் கோரிக்கையைச் செயல்படுத்தும் போது பயன்படுத்தப்படும் சுழல்நிலை டிஎன்எஸ் சேவையகத்தின் ஐபியைக் குறிப்பிடுகிறது. இத்தகைய சுழல்நிலை சேவையகங்கள் பொதுவாக வழங்குநர்களின் DNS-கள் ஆகும்.
  2. வாடிக்கையாளரின் ஐபி அவரது நாடு அல்லது பிராந்தியத்தை அங்கீகரிக்கிறது. இதற்காக, ஜியோஐபி தரவுத்தளங்கள் பயன்படுத்தப்படுகின்றன, அவற்றில் இன்று ஏராளமானவை உள்ளன. நல்லவை உள்ளன இலவச விருப்பங்கள்.
  3. கிளையண்டின் இருப்பிடத்தைப் பொறுத்து, அவருக்கு அருகிலுள்ள CDN சேவையகத்தின் IP முகவரியைக் கொடுக்கிறது.

ஜியோடிஎன்எஸ் செயல்பாட்டைக் கொண்ட டிஎன்எஸ் சேவையகம் இருக்கலாம் நீங்களே கூடுங்கள், ஆனால் உலகெங்கிலும் உள்ள DNS சேவையகங்களின் நெட்வொர்க்குடன் ஆயத்த தீர்வுகளைப் பயன்படுத்துவது நல்லது அனிகாஸ்ட் பெட்டியிலிருந்து:

  • CloudDNS இருந்து $9.95/மாதம், GeoDNS கட்டணம், இயல்பாக ஒரு DNS ஃபெயில்ஓவர் உள்ளது
  • ஜிலோர் இருந்து $25/மாதம், DNS Failover இயக்கப்பட்டது
  • அமேசான் பாதை 53 இருந்து $35/மாதம் நிகர 50M புவிசார் கோரிக்கைகளுக்கு. DNS ஃபெயில்ஓவர் தனித்தனியாக கட்டணம் வசூலிக்கப்படுகிறது
  • டிஎன்எஸ் எளிதானது இருந்து $125/மாதம், 10 DNS தோல்விகள் உள்ளன
  • CloudFlare, "ஜியோ ஸ்டீயரிங்" அம்சம் எண்டர்பிரைஸ் திட்டங்களில் கிடைக்கிறது

geoDNS ஐ ஆர்டர் செய்யும் போது, ​​கட்டணத்தில் சேர்க்கப்பட்டுள்ள கோரிக்கைகளின் எண்ணிக்கையில் நீங்கள் கவனம் செலுத்த வேண்டும் மற்றும் டொமைனுக்கான கோரிக்கைகளின் உண்மையான எண்ணிக்கை பல மடங்கு எதிர்பார்ப்புகளை மீறும் என்பதை நினைவில் கொள்ள வேண்டும். மில்லியன் கணக்கான சிலந்திகள், ஸ்கேனர்கள், ஸ்பேமர்கள் மற்றும் பிற தீய ஆவிகள் அயராது உழைக்கின்றன.

கிட்டத்தட்ட அனைத்து DNS சேவைகளும் CDN - DNS ஃபெயில்ஓவரை உருவாக்குவதற்கு ஒரு தவிர்க்க முடியாத சேவையை உள்ளடக்கியது. அதன் உதவியுடன், உங்கள் சேவையகங்களின் செயல்பாட்டைக் கண்காணிப்பதை நீங்கள் அமைக்கலாம் மற்றும் வாழ்க்கையின் அறிகுறிகள் இல்லாத நிலையில், DNS பதில்களில் காப்புப்பிரதியுடன் செயல்படாத சேவையகத்தின் முகவரியை தானாகவே மாற்றலாம்.

எங்கள் CDN ஐ உருவாக்க, நாங்கள் பயன்படுத்துவோம் கிளவுட்என்எஸ், ஜியோடிஎன்எஸ் கட்டணம்.

உங்கள் டொமைனைக் குறிப்பிட்டு, உங்கள் தனிப்பட்ட கணக்கில் புதிய DNS மண்டலத்தைச் சேர்ப்போம். நாம் ஒரு துணை டொமைனில் CDN ஐ உருவாக்கி, முதன்மை டொமைன் ஏற்கனவே பயன்பாட்டில் இருந்தால், மண்டலத்தைச் சேர்த்த உடனேயே, ஏற்கனவே உள்ள DNS பதிவுகளைச் சேர்க்க மறக்காதீர்கள். CDN டொமைன் / துணை டொமைனுக்கான பல A-பதிவுகளை உருவாக்குவது அடுத்த படியாகும், அவை ஒவ்வொன்றும் நாம் குறிப்பிட்ட பகுதிக்கு பயன்படுத்தப்படும். நீங்கள் கண்டங்கள் அல்லது நாடுகளை பிராந்தியங்களாகக் குறிப்பிடலாம், அமெரிக்கா மற்றும் கனடாவில் துணைப் பகுதிகள் உள்ளன.

எங்கள் விஷயத்தில், CDN துணை டொமைனில் உயர்த்தப்படும் cdn.sayt.in. ஒரு மண்டலத்தைச் சேர்ப்பதன் மூலம் sayt.in, துணை டொமைனுக்கான முதல் A-பதிவை உருவாக்கி, வட அமெரிக்கா முழுவதையும் சிகாகோவில் உள்ள சேவையகத்திற்கு சுட்டிக்காட்டுங்கள்:

உங்கள் CDN ஐ உருவாக்குதல் மற்றும் கட்டமைத்தல்
இயல்புநிலைப் பகுதிகளுக்கு ஒரு உள்ளீட்டை உருவாக்க நினைவில் வைத்து, மற்ற பகுதிகளுக்கான செயலை மீண்டும் செய்வோம். இறுதியில் என்ன நடக்கிறது என்பது இங்கே:

உங்கள் CDN ஐ உருவாக்குதல் மற்றும் கட்டமைத்தல்

ஸ்கிரீன்ஷாட்டில் உள்ள கடைசி இயல்புநிலை உள்ளீடு என்பது அனைத்து குறிப்பிடப்படாத பகுதிகளும் (இவை ஐரோப்பா, ஆப்பிரிக்கா, செயற்கைக்கோள் இணைய பயனர்கள் போன்றவை) பிராங்பேர்ட்டில் உள்ள சேவையகத்திற்கு அனுப்பப்படும்.

இது அடிப்படை DNS அமைப்பை நிறைவு செய்கிறது. டொமைன் பதிவாளரின் இணையதளத்திற்குச் சென்று, தற்போதைய டொமைன் NSகளை க்ளவுடிஎன்எஸ் வழங்கிய டொமைன்களுடன் மாற்ற வேண்டும். மேலும் NSகள் புதுப்பிக்கப்படும் போது, ​​நாங்கள் சர்வர்களை தயார் செய்வோம்.

SSL சான்றிதழ்களை நிறுவுதல்

எங்களின் CDN HTTPS மூலம் வேலை செய்யும், எனவே உங்களிடம் ஏற்கனவே ஒரு டொமைன் அல்லது துணை டொமைனுக்கான SSL சான்றிதழ்கள் இருந்தால், அவற்றை எல்லா சர்வர்களிலும் பதிவேற்றவும், எடுத்துக்காட்டாக, கோப்பகத்தில் /etc/ssl/yourdomain/

சான்றிதழ்கள் இல்லை என்றால், Let's Encrypt இலிருந்து இலவசமாகப் பெறலாம். இதற்கு சரியானது ACME ஷெல்ஸ்கிரிப்ட். கிளையன்ட் வசதியானது மற்றும் அமைப்பதற்கு எளிதானது, மேலும் முக்கியமாக, CloudDNS API வழியாக DNS மூலம் ஒரு டொமைன்/சப்டொமைனைச் சரிபார்க்க இது உங்களை அனுமதிக்கிறது.

நாங்கள் acme.sh ஐ ஒரு சேவையகங்களில் மட்டுமே நிறுவுவோம் - ஐரோப்பிய 199.247.18.199, அதிலிருந்து சான்றிதழ்கள் மற்ற அனைவருக்கும் நகலெடுக்கப்படும். நிறுவ, இயக்கவும்:

root@cdn:~# wget -O - https://get.acme.sh | bash; source ~/.bashrc

ஸ்கிரிப்டை நிறுவும் போது, ​​எங்கள் பங்கேற்பு இல்லாமல் சான்றிதழ்களை மேலும் புதுப்பிக்க ஒரு CRON வேலை உருவாக்கப்படும்.

சான்றிதழை வழங்கும் போது, ​​API ஐப் பயன்படுத்தி DNS ஐப் பயன்படுத்தி டொமைன் சரிபார்க்கப்படும், எனவே மறுவிற்பனையாளர் API மெனுவில் உள்ள CloudDNS தனிப்பட்ட கணக்கில், நீங்கள் ஒரு புதிய பயனர் API ஐ உருவாக்கி அதற்கு கடவுச்சொல்லை அமைக்க வேண்டும். கடவுச்சொல்லுடன் பெறப்பட்ட அங்கீகார ஐடி கோப்பில் எழுதப்படும் ~/.acme.sh/dnsapi/dns_cloudns.sh (கோப்புடன் குழப்பிக் கொள்ள வேண்டாம் dns_clouddns.sh) கருத்துத் தெரிவிக்கப்படாத மற்றும் திருத்த வேண்டிய வரிகள் இங்கே:

CLOUDNS_AUTH_ID=<auth-id>
CLOUDNS_AUTH_PASSWORD="<пароль>"

இப்போது SSL சான்றிதழைக் கோருவோம் cdn.sayt.in

root@cdn:~# acme.sh --issue --dns dns_cloudns -d cdn.sayt.in --reloadcmd "service nginx reload"

எதிர்காலத்திற்கான விருப்பங்களில், எதிர்காலத்தில் சான்றிதழ் செல்லுபடியாகும் காலத்தின் ஒவ்வொரு புதுப்பித்தலுக்குப் பிறகும் இணைய சேவையக உள்ளமைவை தானாக மீண்டும் ஏற்றுவதற்கான கட்டளையை நாங்கள் குறிப்பிட்டுள்ளோம்.

சான்றிதழைப் பெறுவதற்கான முழு செயல்முறையும் 2 நிமிடங்கள் வரை ஆகலாம், அதை குறுக்கிட வேண்டாம். டொமைன் சரிபார்ப்பு பிழை ஏற்பட்டால், கட்டளையை மீண்டும் இயக்க முயற்சிக்கவும். இறுதியில் சான்றிதழ்கள் எங்கு பதிவேற்றப்பட்டன என்பதைப் பார்ப்போம்:

உங்கள் CDN ஐ உருவாக்குதல் மற்றும் கட்டமைத்தல்

இந்த பாதைகளை நினைவில் கொள்ளுங்கள், சான்றிதழை மற்ற சேவையகங்களுக்கு நகலெடுக்கும்போது, ​​அத்துடன் இணைய சேவையக அமைப்புகளிலும் அவை குறிப்பிடப்பட வேண்டும். Nginx configs ஐ மீண்டும் ஏற்றுவதில் உள்ள பிழைக்கு நாங்கள் கவனம் செலுத்தவில்லை - சான்றிதழ்களைப் புதுப்பிக்கும்போது அது முழுமையாக உள்ளமைக்கப்பட்ட சர்வரில் இருக்காது.

கோப்புகளுக்கான பாதையை பராமரிக்கும் போது பெறப்பட்ட சான்றிதழை மற்ற இரண்டு சேவையகங்களுக்கு நகலெடுப்பதே SSL க்கு எஞ்சியிருக்கும். அவை ஒவ்வொன்றிலும் ஒரே கோப்பகங்களை உருவாக்கி நகலெடுப்போம்:

root@cdn:~# mkdir -p /root/.acme.sh/cdn.sayt.in/
root@cdn:~# scp -r [email protected]:/root/.acme.sh/cdn.sayt.in/* /root/.acme.sh/cdn.sayt.in/

சான்றிதழ்களை தவறாமல் புதுப்பிக்க, இரண்டு சேவையகங்களிலும் தினசரி CRON வேலையை உருவாக்கவும்:

scp -r [email protected]:/root/.acme.sh/cdn.sayt.in/* /root/.acme.sh/cdn.sayt.in/ && service nginx reload

இந்த வழக்கில், தொலைநிலை மூல சேவையகத்திற்கான அணுகல் கட்டமைக்கப்பட வேண்டும் முக்கிய மூலம், அதாவது கடவுச்சொல்லை உள்ளிடாமல். அதை செய்ய மறக்க வேண்டாம்.

Nginx ஐ நிறுவுதல் மற்றும் கட்டமைத்தல்

நிலையான உள்ளடக்கத்தை வழங்க, கேச்சிங் ப்ராக்ஸி சேவையகமாக உள்ளமைக்கப்பட்ட Nginx ஐப் பயன்படுத்துவோம். தொகுப்பு பட்டியல்களைப் புதுப்பித்து, மூன்று சேவையகங்களிலும் நிறுவவும்:

root@cdn:~# apt update
root@cdn:~# apt install nginx

இயல்புநிலைக்கு பதிலாக, கீழே உள்ள ஸ்பாய்லரில் இருந்து கட்டமைப்பைப் பயன்படுத்துகிறோம்:
nginx.conf

user www-data;
worker_processes auto;
pid /run/nginx.pid;

events {
    worker_connections 4096;
    multi_accept on;
}

http {
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    types_hash_max_size 2048;

    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    access_log off;
    error_log /var/log/nginx/error.log;

    gzip on;
    gzip_disable "msie6";
    gzip_comp_level 6;
    gzip_proxied any;
    gzip_vary on;
    gzip_types text/plain application/javascript text/javascript text/css application/json application/xml text/xml application/rss+xml;
    gunzip on;            

    proxy_temp_path    /var/cache/tmp;
    proxy_cache_path   /var/cache/cdn levels=1:2 keys_zone=cdn:64m max_size=20g inactive=7d;
    proxy_cache_bypass $http_x_update;

server {
  listen 443 ssl;
  server_name cdn.sayt.in;

  ssl_certificate /root/.acme.sh/cdn.sayt.in/cdn.sayt.in.cer;
  ssl_certificate_key /root/.acme.sh/cdn.sayt.in/cdn.sayt.in.key;

  location / {
    proxy_cache cdn;
    proxy_cache_key $uri$is_args$args;
    proxy_cache_valid 90d;
    proxy_pass https://sayt.in;
    }
  }
}

கட்டமைப்பில் திருத்தவும்:

  • அதிகபட்ச_அளவு — தற்காலிக சேமிப்பின் அளவு, கிடைக்கக்கூடிய வட்டு இடத்தை விட அதிகமாக இல்லை
  • செயலற்று - யாரும் அணுகாத தற்காலிகச் சேமிப்புத் தரவின் சேமிப்பு நேரம்
  • ssl_certificate и ssl_certificate_key - SSL சான்றிதழ் மற்றும் முக்கிய கோப்புகளுக்கான பாதைகள்
  • ப்ராக்ஸி_கேச்_செல்லுபடியாகும் - தற்காலிகமாக சேமிக்கப்பட்ட தரவின் சேமிப்பு நேரம்
  • ப்ராக்ஸி_பாஸ் — CDN ஆனது தேக்ககத்திற்காக கோப்புகளை கோரும் அசல் சேவையகத்தின் முகவரி. எங்கள் எடுத்துக்காட்டில், இது sayt.in

நீங்கள் பார்க்க முடியும் என, எல்லாம் எளிது. கட்டளைகளின் ஒற்றுமை காரணமாக தற்காலிக சேமிப்பு நேரத்தை அமைப்பதில் மட்டுமே சிரமம் ஏற்படலாம் செயலற்று и ப்ராக்ஸி_கேச்_செல்லுபடியாகும். அவற்றை எங்கள் உதாரணத்துடன் பகுப்பாய்வு செய்வோம். எப்போது என்ன நடக்கும் என்பது இங்கே செயலற்ற = 7d и proxy_cache_valid 90d:

  • கோரிக்கை 7 நாட்களுக்குள் மீண்டும் செய்யப்படாவிட்டால், இந்த காலத்திற்குப் பிறகு தரவு தற்காலிக சேமிப்பிலிருந்து நீக்கப்படும்
  • குறைந்தபட்சம் 7 நாட்களுக்கு ஒருமுறை கோரிக்கை மீண்டும் மீண்டும் செய்யப்பட்டால், தற்காலிக சேமிப்பில் உள்ள தரவு 90 நாட்களுக்குப் பிறகு வழக்கற்றுப் போனதாகக் கருதப்படும், மேலும் Nginx அதை அசல் சேவையகத்திலிருந்து எடுத்து அடுத்த கோரிக்கையுடன் புதுப்பிக்கும்.

திருத்த முடிந்தது nginx.conf, உள்ளமைவை மீண்டும் ஏற்றவும்:

root@cdn:~# service nginx reload

எங்கள் CDN தயாராக உள்ளது. $15/மாதத்திற்கு. மூன்று கண்டங்களில் இருப்பதற்கான புள்ளிகள் மற்றும் 3 TB போக்குவரத்து: ஒவ்வொரு இடத்திலும் 1 TB.

CDN இன் வேலையைச் சரிபார்க்கிறது

வெவ்வேறு புவியியல் இடங்களிலிருந்து நமது CDNக்கான பிங்ஸைப் பார்ப்போம். எந்த பிங் சேவையும் இதற்கு வேலை செய்யும்.

துவக்க புள்ளி
தொகுப்பாளர்
IP
சராசரி நேரம், மிஸ்

ஜெர்மனி பெர்லின்
cdn.sayt.in
199.247.18.199
9.6

நெதர்லாந்து, ஆம்ஸ்டர்டாம்
cdn.sayt.in
199.247.18.199
10.1

பிரான்ஸ் பாரிஸ்
cdn.sayt.in
199.247.18.199
16.3

கிரேட் பிரிட்டன், லண்டன்
cdn.sayt.in
199.247.18.199
14.9

கனடா, டொராண்டோ
cdn.sayt.in
149.28.121.123
16.2

அமெரிக்கா, சான் பிரான்சிஸ்கோ
cdn.sayt.in
149.28.121.123
52.7

அமெரிக்கா, டல்லாஸ்
cdn.sayt.in
149.28.121.123
23.1

அமெரிக்கா, சிகாகோ
cdn.sayt.in
149.28.121.123
2.6

அமெரிக்கா, நியூயார்க்
cdn.sayt.in
149.28.121.123
19.8

Сингапур
cdn.sayt.in
157.230.240.216
1.7

ஜப்பான் டோக்கியோ
cdn.sayt.in
157.230.240.216
74.8

ஆஸ்திரேலியா, சிட்னி
cdn.sayt.in
157.230.240.216
95.9

முடிவுகள் நன்றாக உள்ளன. இப்போது பிரதான தளத்தின் மூலத்தில் ஒரு சோதனை படத்தை வைப்போம் test.jpg மற்றும் CDN வழியாக அதன் பதிவிறக்க வேகத்தை சரிபார்க்கவும். கூறப்படுகிறது - செய்து. உள்ளடக்கம் விரைவாக வழங்கப்படுகிறது.

CDN புள்ளியில் உள்ள தற்காலிக சேமிப்பை அழிக்க வேண்டுமானால், ஒரு சிறிய ஸ்கிரிப்டை எழுதுவோம்.
purge.sh

#!/bin/bash
if [ -z "$1" ]
then
    echo "Purging all cache"
    rm -rf /var/cache/cdn/*
else
    echo "Purging $1"
    FILE=`echo -n "$1" | md5sum | awk '{print $1}'`
    FULLPATH=/var/cache/cdn/${FILE:31:1}/${FILE:29:2}/${FILE}
    rm -f "${FULLPATH}"
fi

முழு தற்காலிக சேமிப்பையும் நீக்க, அதை இயக்கவும், ஒரு தனி கோப்பை இப்படி சுத்தம் செய்யலாம்:

root@cdn:~# ./purge.sh /test.jpg

முடிவுகளுக்கு பதிலாக

இறுதியாக, அந்த நேரத்தில் என் தலையை காயப்படுத்திய ரேக்கை உடனடியாகக் கடக்க சில பயனுள்ள உதவிக்குறிப்புகளை நான் கொடுக்க விரும்புகிறேன்:

  • CDN இன் தவறு சகிப்புத்தன்மையை அதிகரிக்க, DNS Failover ஐ உள்ளமைக்க பரிந்துரைக்கப்படுகிறது, இது சர்வர் செயலிழந்தால் A பதிவை விரைவாக மாற்ற உதவுகிறது. இது டொமைனின் டிஎன்எஸ் பதிவுகளின் கட்டுப்பாட்டுப் பலகத்தில் செய்யப்படுகிறது.
  • பரந்த புவியியல் கவரேஜ் கொண்ட தளங்களுக்கு அதிக எண்ணிக்கையிலான CDNகள் தேவை என்பதில் சந்தேகமில்லை, ஆனால் வெறித்தனமாக இருக்க வேண்டாம். ஐரோப்பா, வட அமெரிக்கா (கிழக்கு), வட அமெரிக்கா (மேற்கு), சிங்கப்பூர், ஆஸ்திரேலியா, ஹாங்காங் அல்லது ஜப்பான் ஆகிய 6-7 இடங்களில் நீங்கள் சேவையகங்களை வைத்தால், பணம் செலுத்திய CDN உடன் ஒப்பிடும்போது பயனர் குறிப்பிடத்தக்க வேறுபாட்டைக் கவனிக்கமாட்டார்.
  • சில நேரங்களில் ஹோஸ்டர்கள் CDN நோக்கங்களுக்காக வாடகை சேவையகங்களைப் பயன்படுத்த அனுமதிப்பதில்லை. எனவே, நீங்கள் திடீரென்று ஒரு உள்ளடக்க விநியோக நெட்வொர்க்கை ஒரு சேவையாக பயன்படுத்த முடிவு செய்தால், ஒரு குறிப்பிட்ட ஹோஸ்டிங் வழங்குநரின் விதிகளை முன்கூட்டியே படிக்க மறக்காதீர்கள்
  • ஆராயுங்கள் நீருக்கடியில் தகவல் தொடர்பு வரைபடம்கண்டங்கள் எவ்வாறு இணைக்கப்பட்டுள்ளன என்பதைப் பிரதிநிதித்துவப்படுத்தவும், உள்ளடக்க விநியோக வலையமைப்பை உருவாக்கும்போது இதைக் கணக்கில் எடுத்துக்கொள்ளவும்
  • சரிபார்க்க முயற்சிக்கவும் வெவ்வேறு இடங்களிலிருந்து பிங்ஸ் உங்கள் சேவையகங்களுக்கு. இந்த வழியில் நீங்கள் CDN புள்ளிகளுக்கு அருகில் உள்ள பகுதிகளைக் காணலாம் மற்றும் GeoDNS ஐ இன்னும் சரியாக உள்ளமைக்கலாம்
  • பணிகளைப் பொறுத்து, குறிப்பிட்ட கேச்சிங் தேவைகளுக்கு Nginx ஐ நன்றாக மாற்றுவது மற்றும் சேவையகத்தில் உள்ள சுமைகளை கணக்கில் எடுத்துக்கொள்வது பயனுள்ளதாக இருக்கும். Nginx கேச் பற்றிய கட்டுரைகள் எனக்கு இதில் பெரிதும் உதவியது - இங்கே மற்றும் அதிக சுமைகளின் கீழ் வேலை முடுக்கம்: இங்கே и இங்கே

ஆதாரம்: www.habr.com