தமிழ்

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

API கேச்சிங்: உலகளவில் ரெடிஸ் மற்றும் CDN உத்திகளைக் கொண்டு செயல்திறனை அளவிடுதல்

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

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

API கேச்சிங் ஏன் முக்கியமானது?

கேச்சிங் இல்லாமல், ஒவ்வொரு API கோரிக்கையும் ஆரிஜின் சர்வருக்கு (எ.கா., உங்கள் பயன்பாட்டின் தரவுத்தளம்) ஒரு பயணத்தைத் தூண்டுகிறது. இது பல சிக்கல்களுக்கு வழிவகுக்கும்:

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

கேச்சிங் நிலப்பரப்பைப் புரிந்துகொள்ளுதல்

குறிப்பிட்ட தொழில்நுட்பங்களுக்குள் செல்வதற்கு முன், சில முக்கிய கேச்சிங் கருத்துக்களை வரையறுப்போம்:

ரெடிஸ்: API கேச்சிங்கிற்கான இன்-மெமரி டேட்டா ஸ்டோர்

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

API கேச்சிங்கிற்கு ரெடிஸ் பயன்படுத்துவதன் நன்மைகள்

ரெடிஸ் கேச்சிங்கை செயல்படுத்துதல்

`redis-py` லைப்ரரியைப் பயன்படுத்தி பைத்தானில் ரெடிஸ் கேச்சிங்கை செயல்படுத்துவதற்கான ஒரு எளிமைப்படுத்தப்பட்ட எடுத்துக்காட்டு இங்கே:


import redis
import json

# ரெடிஸுடன் இணைக்கவும்
redis_client = redis.Redis(host='localhost', port=6379, db=0)


def get_data_from_api(api_endpoint):
 # ஒரு API இலிருந்து தரவைப் பெறுவதை உருவகப்படுத்துங்கள்
 data = {"name": "Example Data", "value": 123}
 return data


def get_data_with_cache(api_endpoint):
 cache_key = f"api:{api_endpoint}"
 cached_data = redis_client.get(cache_key)

 if cached_data:
 print("தரவு கேச்சிலிருந்து மீட்டெடுக்கப்பட்டது")
 return json.loads(cached_data.decode('utf-8'))
 else:
 print("தரவு API இலிருந்து மீட்டெடுக்கப்பட்டது")
 data = get_data_from_api(api_endpoint)
 # தரவை 60 வினாடிகளுக்கு கேச் செய்யவும் (TTL)
 redis_client.setex(cache_key, 60, json.dumps(data))
 return data

# எடுத்துக்காட்டு பயன்பாடு
api_endpoint = "/data"
data = get_data_with_cache(api_endpoint)
print(data)

விளக்கம்:

  1. இந்தக் குறியீடு ஒரு ரெடிஸ் நிகழ்வுடன் இணைகிறது.
  2. `get_data_with_cache` செயல்பாடு ஒரு கேச் கீயைப் பயன்படுத்தி ரெடிஸிலிருந்து தரவை மீட்டெடுக்க முயற்சிக்கிறது.
  3. ரெடிஸில் தரவு காணப்பட்டால் (கேச் ஹிட்), அது திருப்பி அனுப்பப்படும்.
  4. தரவு காணப்படவில்லை என்றால் (கேச் மிஸ்), அது API இலிருந்து பெறப்பட்டு, 60 வினாடிகள் TTL உடன் ரெடிஸில் கேச் செய்யப்பட்டு, பின்னர் திருப்பி அனுப்பப்படும்.

ரெடிஸ் கேச்சிங் உத்திகள்

ரெடிஸுடன் கேச் செல்லாததாக்குதல் உத்திகள்

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

உள்ளடக்க விநியோக நெட்வொர்க்குகள் (CDNs): எட்ஜில் உலகளாவிய கேச்சிங்

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

API கேச்சிங்கிற்கு CDN-களைப் பயன்படுத்துவதன் நன்மைகள்

CDN-கள் எப்படி வேலை செய்கின்றன

  1. ஒரு பயனர் உங்கள் API இலிருந்து உள்ளடக்கத்தைக் கோருகிறார்.
  2. பயனருக்கு மிக அருகில் உள்ள எட்ஜ் சேவையகத்தில் உள்ளடக்கம் ஏற்கனவே கேச் செய்யப்பட்டுள்ளதா என்பதை CDN சரிபார்க்கிறது.
  3. உள்ளடக்கம் கேச் செய்யப்பட்டிருந்தால் (கேச் ஹிட்), அது பயனருக்கு வழங்கப்படுகிறது.
  4. உள்ளடக்கம் கேச் செய்யப்படவில்லை என்றால் (கேச் மிஸ்), எட்ஜ் சேவையகம் அதை ஆரிஜின் சேவையகத்திலிருந்து பெற்று, கேச் செய்து, பயனருக்கு வழங்குகிறது.
  5. அதே புவியியல் பகுதியில் உள்ள பயனர்களிடமிருந்து வரும் அடுத்தடுத்த கோரிக்கைகள் கேச்சிலிருந்து வழங்கப்படும்.

CDN கட்டமைப்பு மற்றும் கேச்-கண்ட்ரோல் ஹெடர்கள்

ஒரு CDN-ஐ உள்ளமைப்பது பொதுவாக உங்கள் டொமைன் பெயரை CDN-ன் சேவையகங்களுக்கு சுட்டிக்காட்டுவதை உள்ளடக்கியது. உங்கள் உள்ளடக்கத்தை எவ்வாறு கேச் செய்வது என்று CDN-க்கு அறிவுறுத்த, உங்கள் API பதில்களில் கேச்-கண்ட்ரோல் ஹெடர்களை உள்ளமைக்க வேண்டும். பொதுவான கேச்-கண்ட்ரோல் ஹெடர்கள் பின்வருமாறு:

எடுத்துக்காட்டு கேச்-கண்ட்ரோல் ஹெடர்:


Cache-Control: public, max-age=3600, s-maxage=7200

இந்த ஹெடர் CDN-க்கு பதிலை 7200 வினாடிகளுக்கு (2 மணி நேரம்) கேச் செய்யச் சொல்கிறது, அதே நேரத்தில் உலாவிகள் அதை 3600 வினாடிகளுக்கு (1 மணி நேரம்) கேச் செய்யலாம்.

பிரபலமான CDN வழங்குநர்கள்

CDN கேச் செல்லாததாக்குதல் உத்திகள்

ரெடிஸைப் போலவே, CDN-களுக்கும் தரவு நிலைத்தன்மையை உறுதி செய்ய கேச் செல்லாததாக்குதல் வழிமுறைகள் தேவை.

ரெடிஸ் மற்றும் CDN-களை இணைத்தல்: ஒரு சக்திவாய்ந்த கூட்டணி

ரெடிஸ் மற்றும் CDN-களை ஒன்றாகப் பயன்படுத்தி மிகவும் திறமையான API கேச்சிங் உத்தியை உருவாக்கலாம். ரெடிஸ் உங்கள் பயன்பாட்டு உள்கட்டமைப்பிற்குள் முதல்-நிலை கேச்சாக செயல்படுகிறது, அதே நேரத்தில் CDN எட்ஜில் உலகளாவிய கேச்சிங்கை வழங்குகிறது.

எடுத்துக்காட்டு கட்டமைப்பு

  1. ஒரு பயனர் உங்கள் API இலிருந்து தரவைக் கோருகிறார்.
  2. பயன்பாடு ரெடிஸில் தரவைச் சரிபார்க்கிறது.
  3. ரெடிஸில் தரவு காணப்பட்டால் (கேச் ஹிட்), அது பயனருக்குத் திருப்பி அனுப்பப்படும்.
  4. ரெடிஸில் தரவு காணப்படவில்லை என்றால் (கேச் மிஸ்), பயன்பாடு அதை ஆரிஜின் சேவையகத்திலிருந்து பெறுகிறது.
  5. பயன்பாடு தரவை ஒரு TTL உடன் ரெடிஸில் கேச் செய்கிறது.
  6. பயன்பாடு தரவை பயனருக்குத் திருப்பி அனுப்புகிறது.
  7. CDN, கேச்-கண்ட்ரோல் ஹெடர்களின் அடிப்படையில் API பதிலை கேச் செய்கிறது.
  8. அதே புவியியல் பகுதியில் உள்ள பயனர்களிடமிருந்து வரும் அடுத்தடுத்த கோரிக்கைகள் CDN கேச்சிலிருந்து வழங்கப்படும்.

இந்த ஒருங்கிணைந்த அணுகுமுறையின் நன்மைகள்

சரியான கேச்சிங் உத்தியைத் தேர்ந்தெடுத்தல்

சிறந்த கேச்சிங் உத்தி பல காரணிகளைப் பொறுத்தது, அவற்றுள்:

API கேச்சிங்கிற்கான சிறந்த நடைமுறைகள்

உலகளாவிய பரிசீலனைகள்

உலகளாவிய பார்வையாளர்களுக்காக API கேச்சிங்கைச் செயல்படுத்தும்போது, பின்வருவனவற்றைக் கவனத்தில் கொள்ளுங்கள்:

முடிவுரை

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

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