தமிழ்

Next.js எட்ஜ் ரன்டைமை ஆராய்ந்து, அது எப்படி சர்வர்லெஸ் ஃபங்ஷன்களை உலகளாவிய செயல்திறனுக்கு மேம்படுத்துகிறது மற்றும் மின்னல் வேக அனுபவங்களை வழங்குகிறது என்பதை அறியுங்கள். நடைமுறை எடுத்துக்காட்டுகள் மற்றும் கோட் துணுக்குகள் அடங்கும்.

Next.js எட்ஜ் ரன்டைம்: உலகளாவிய பார்வையாளர்களுக்கான சர்வர்லெஸ் ஃபங்ஷன் மேம்படுத்தல்

இன்றைய டிஜிட்டல் உலகில், மின்னல் வேக இணைய அனுபவங்களை வழங்குவது மிகவும் முக்கியமானது. பயனர்கள் உலகின் அனைத்து மூலைகளிலிருந்தும் வலைத்தளங்கள் மற்றும் செயலிகளை அணுகுவதால், புவியியல் ரீதியாகப் பரவியுள்ள பார்வையாளர்களுக்காக செயல்திறனை மேம்படுத்துவது அவசியமாகும். Next.js, ஒரு பிரபலமான React ஃபிரேம்வொர்க், ஒரு சக்திவாய்ந்த தீர்வை வழங்குகிறது: எட்ஜ் ரன்டைம். இந்த வலைப்பதிவு இடுகை Next.js எட்ஜ் ரன்டைமைப் பற்றி ஆழமாக ஆராய்ந்து, அது எப்படி ஒரு உண்மையான உலகளாவிய வலைக்காக சர்வர்லெஸ் ஃபங்ஷன் மேம்படுத்தலில் புரட்சி செய்கிறது என்பதை விளக்கும்.

Next.js எட்ஜ் ரன்டைம் என்றால் என்ன?

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

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

எட்ஜ் ரன்டைமின் முக்கிய நன்மைகள்

எட்ஜ் ரன்டைம் எப்படி வேலை செய்கிறது: ஒரு எளிமையான விளக்கம்

பிரேசிலில் உள்ள ஒரு பயனர் Next.js உடன் உருவாக்கப்பட்டு எட்ஜ் ரன்டைமைப் பயன்படுத்தும் ஒரு இ-காமர்ஸ் வலைத்தளத்தைப் பார்வையிடுவதாக கற்பனை செய்து கொள்ளுங்கள். கோரிக்கை எவ்வாறு செயலாக்கப்படுகிறது என்பது இங்கே:

  1. பயனரின் உலாவி இ-காமர்ஸ் வலைத்தளத்திற்கு ஒரு கோரிக்கையை அனுப்புகிறது.
  2. கோரிக்கை பிரேசிலில் (அல்லது தென் அமெரிக்காவில் அருகிலுள்ள இடம்) உள்ள அருகிலுள்ள எட்ஜ் சர்வருக்கு அனுப்பப்படுகிறது.
  3. எட்ஜ் ரன்டைம் தேவையான சர்வர்லெஸ் ஃபங்ஷனை (எ.கா., தயாரிப்புத் தரவைப் பெறுதல், தனிப்பயனாக்கப்பட்ட உள்ளடக்கத்தை உருவாக்குதல்) செயல்படுத்துகிறது.
  4. எட்ஜ் சர்வர் பதிலை நேரடியாக பயனரின் உலாவிக்குத் திருப்பி அனுப்புகிறது.

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

Next.js-ல் எட்ஜ் ரன்டைமை செயல்படுத்துதல்

உங்கள் Next.js செயலியில் எட்ஜ் ரன்டைமை இயக்குவது நேரடியானது. `edge` ரன்டைம் சூழலைப் பயன்படுத்த உங்கள் API வழிகள் அல்லது மிடில்வேரை உள்ளமைக்க வேண்டும்.

எடுத்துக்காட்டு: எட்ஜ் ரன்டைமைப் பயன்படுத்தும் API ரூட்

`/pages/api/hello.js` (அல்லது app டைரக்டரியில் `/app/api/hello/route.js`) என்ற பெயரில் ஒரு கோப்பை உருவாக்கவும்:


// pages/api/hello.js

export const config = {
  runtime: 'edge',
};

export default async function handler(req) {
  return new Response(
    `வணக்கம், எட்ஜ் ரன்டைமிலிருந்து! (கோரிக்கை: ${req.geo?.country || 'தெரியவில்லை'})`,
    { status: 200 }
  );
}

விளக்கம்:

புவி-இருப்பிடத் தரவு (Geo-location Data): `req.geo` ஆப்ஜெக்ட் பயனரின் இருப்பிடத்தைப் பற்றிய புவியியல் தகவல்களான நாடு, பிராந்தியம், நகரம் மற்றும் அட்சரேகை/தீர்க்கரேகை ஆகியவற்றுக்கான அணுகலை வழங்குகிறது. இந்தத் தரவு எட்ஜ் நெட்வொர்க்கால் வழங்கப்படுகிறது மற்றும் உள்ளடக்கத்தைத் தனிப்பயனாக்க அல்லது பயனர் இருப்பிடத்தின் அடிப்படையில் செயலியின் நடத்தையை மேம்படுத்தப் பயன்படுத்தப்படலாம்.

எடுத்துக்காட்டு: எட்ஜ் ரன்டைமைப் பயன்படுத்தும் மிடில்வேர்

உங்கள் ப்ராஜெக்ட்டின் ரூட்டில் `middleware.js` (அல்லது `src/middleware.js`) என்ற கோப்பை உருவாக்கவும்:


// middleware.js
import { NextResponse } from 'next/server'

export const config = {
  matcher: '/about/:path*',
}

export function middleware(request) {
  // "country" என்ற குக்கீ இருப்பதாகக் கொள்ளுங்கள்:
  const country = request.cookies.get('country')?.value || request.geo?.country || 'US'

  console.log(`Middleware running from: ${country}`)
  
  // URL-ஐ நகலெடுக்கவும்
  const url = request.nextUrl.clone()

  // "country" என்ற பண்பு வினவல் அளவுருவைச் சேர்க்கவும்
  url.searchParams.set('country', country)

  // URL-க்கு மீண்டும் எழுதவும்
  return NextResponse.rewrite(url)
}

விளக்கம்:

எட்ஜ் ரன்டைமிற்கான பயன்பாட்டு வழக்குகள்

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

எட்ஜ் ரன்டைம் vs. சர்வர்லெஸ் ஃபங்ஷன்கள்: முக்கிய வேறுபாடுகள்

எட்ஜ் ரன்டைம் மற்றும் பாரம்பரிய சர்வர்லெஸ் ஃபங்ஷன்கள் இரண்டும் சர்வர்லெஸ் செயல்பாட்டை வழங்கினாலும், கருத்தில் கொள்ள வேண்டிய முக்கிய வேறுபாடுகள் உள்ளன:

அம்சம் எட்ஜ் ரன்டைம் சர்வர்லெஸ் ஃபங்ஷன்கள் (எ.கா., AWS Lambda, Google Cloud Functions)
இடம் உலகளவில் பரவிய எட்ஜ் நெட்வொர்க் மையப்படுத்தப்பட்ட டேட்டா சென்டர்கள்
தாமதம் (Latency) பயனர்களுக்கு அருகாமையில் இருப்பதால் குறைந்த தாமதம் மையப்படுத்தப்பட்ட இருப்பிடம் காரணமாக அதிக தாமதம்
கோல்ட் ஸ்டார்ட்ஸ் இலகுவான சூழல் காரணமாக வேகமான கோல்ட் ஸ்டார்ட்ஸ் மெதுவான கோல்ட் ஸ்டார்ட்ஸ்
பயன்பாட்டு வழக்குகள் செயல்திறன்-முக்கியமான செயலிகள், தனிப்பயனாக்கம், A/B சோதனை பொது-நோக்கு சர்வர்லெஸ் கம்ப்யூட்டிங்
செலவு அதிக போக்குவரத்து உள்ள செயலிகளுக்கு செலவு குறைந்ததாக இருக்கலாம் குறைந்த போக்குவரத்து உள்ள செயலிகளுக்கு செலவு குறைந்தது
ரன்டைம் குறிப்பிட்ட JavaScript ரன்டைம்களுக்கு (V8 Engine) வரையறுக்கப்பட்டுள்ளது பல்வேறு மொழிகள் மற்றும் ரன்டைம்களை ஆதரிக்கிறது

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

எட்ஜ் ரன்டைமின் வரம்புகள்

எட்ஜ் ரன்டைம் குறிப்பிடத்தக்க நன்மைகளை வழங்கினாலும், அதன் வரம்புகளைப் பற்றி அறிந்திருப்பது முக்கியம்:

எட்ஜ் ரன்டைம் ஃபங்ஷன்களை மேம்படுத்துவதற்கான சிறந்த நடைமுறைகள்

உங்கள் எட்ஜ் ரன்டைம் ஃபங்ஷன்களின் செயல்திறனையும் செயல்திறனையும் அதிகரிக்க, பின்வரும் சிறந்த நடைமுறைகளைக் கருத்தில் கொள்ளுங்கள்:

சரியான தளத்தைத் தேர்ந்தெடுப்பது: Vercel மற்றும் அதற்கு அப்பால்

Vercel என்பது Next.js மற்றும் எட்ஜ் ரன்டைமை ஆதரிக்கும் முதன்மைத் தளமாகும். இது ஒரு தடையற்ற வரிசைப்படுத்தல் அனுபவத்தை வழங்குகிறது மற்றும் Next.js ஃபிரேம்வொர்க்குடன் இறுக்கமாக ஒருங்கிணைக்கப்பட்டுள்ளது. இருப்பினும், எட்ஜ் கம்ப்யூட்டிங் மற்றும் சர்வர்லெஸ் ஃபங்ஷன்களை ஆதரிக்கும் பிற தளங்களும் உருவாகி வருகின்றன, அவை:

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

எட்ஜ் கம்ப்யூட்டிங் மற்றும் சர்வர்லெஸ் ஃபங்ஷன்களின் எதிர்காலம்

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

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

முடிவுரை

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

வலை பெருகிய முறையில் உலகளாவியதாக மாறுவதால், விதிவிலக்கான பயனர் அனுபவங்களை வழங்குவதற்கு எட்ஜ் கம்ப்யூட்டிங் மற்றும் சர்வர்லெஸ் ஃபங்ஷன்களை ஏற்றுக்கொள்வது அவசியமாகும். இந்த வலைப்பதிவு இடுகையில் கோடிட்டுக் காட்டப்பட்டுள்ள கொள்கைகள் மற்றும் சிறந்த நடைமுறைகளைப் புரிந்துகொள்வதன் மூலம், இன்றைய போட்டி டிஜிட்டல் உலகில் செழித்து வளரும் உண்மையான உலகளாவிய வலைச் செயலிகளை உருவாக்க Next.js எட்ஜ் ரன்டைமைப் பயன்படுத்தலாம். உங்கள் பயனர்களின் பல்வேறு புவியியல் இருப்பிடங்களையும், எட்ஜ் ஃபங்ஷன்கள் அவர்களுக்கு குறிப்பாக எவ்வாறு பயனளிக்க முடியும் என்பதையும் கருத்தில் கொள்ளுங்கள், இது அதிகரித்த ஈடுபாடு மற்றும் மாற்றங்களுக்கு வழிவகுக்கும்.