Еуропада Next.js үшін бұлттық сервер
Next.js продакшен қолданбалары үшін стандартты React фреймворкіне айналды. Ол серверлік рендерингті, статикалық генерацияны және API маршруттарын бір жерде жабады. Бірақ еуропалық қолданушылар үшін ең жақсы өнімділік алу үшін сервер Виргинияда немесе Орегонда емес, Еуропада болуы керек.
ЕО-дағы хостинг Next.js үшін неге маңызды
Серверлік рендерингі бар Next.js деректер көздеріңізге сұрауларды серверден нақты уақытта жасайды. Сервер кешігуінің әрбір миллисекунды қолданушының бет жүктелу уақытына тікелей қосылады. Сервер АҚШ-та, ал қолданушылар Германияда немесе Польшада болса, бет рендерлене бастамай тұрып 80-150 мс базалық кешігу қосасыз.
GDPR сәйкестігі - басқа себеп. Next.js қолданбасы ЕО тұрғындарының дербес деректерін өңдесе, бұл деректер ЕО-да қалуы керек. Қолданбаны еуропалық серверде орналастыру сізді шекара арқылы беру туралы күрделі келісімдерсіз деректерді сақтау орнына қойылатын талаптар шегінде ұстайды.
ISR (инкременттік статикалық регенерация) беттерді серверде кештейді. Сервер қолданушыларға жақынырақ болуы кештен жылдам беруді және жылдам қайта тексеру циклдерін білдіреді. ЕО-дағы хостинг сонымен бірге трансатлантикалық іркілістерге және маршруттау мәселелеріне тәуелділікті азайтады.
Серверге қойылатын ең аз талаптар
Next.js Node.js процесін үздіксіз ұстайтындықтан қарапайым статикалық сайттан талапшыл.
- RAM - құрастыру мен таратуға қосып кемінде 2 ГБ. Тек құрастыру процесі 1,2-1,5 ГБ алуы мүмкін. Бірнеше воркері бар продакшенге 4 ГБ қолайлырақ.
- CPU - кемінде 2 ядро. Next.js құрастыру кезінде қатар жүретін воркерлерді қолданады және қатар SSR сұраулары үшін бірнеше ағынды іске қоса алады.
- Диск - кемінде 20 ГБ.
.nextқұрастыру каталогы,node_modulesжәне журналдар жылдам жинақталады. Жылдам іске қосылу үшін SSD қатты ұсынылады. - Node.js - 18 нұсқасы немесе жаңасы қажет. Node.js 20 LTS - ағымдағы ұсынылатын нұсқа.
DCXV-тің ұсынылатын конфигурациясы
DCXV ЕО-да, Чехия мен Португалияда Tier III деңгейлі дата-орталықтарда жұмыс істейді, бұл Орталық және Батыс Еуропадағы қолданушыларға дейін төмен кешігуі бар сенімді инфрақұрылым береді.
Стандартты Next.js қолданбасы үшін айына EUR 15-тен басталатын DCXV бұлттық тарифі трафигі қалыпты продакшен қолданбасын іске қосуға жетеді. Сіз жүктемеде өнімділікті тұншықтыратын ортақ процессор емес, кепілді ресурстары бар жеке бұлттық инстанс аласыз.
Трафигі жоғары қолданбалар немесе SSR-ды белсенді қолданатын интернет-дүкендер үшін 4 ядро / 8 ГБ RAM деңгейі қатар рендерингті кезексіз атқарады. Оқшауланған өнімділік қажет болса, бөлінген жабдық айына EUR 49-дан қолжетімді.
Тәулік бойғы инженер қолдауы қосымша ақысыз қосылған. Нақты инженермен тек өтінім кезегі арқылы емес, кез келген сағатта байланысуға болады. Қолжетімді конфигурацияларды https://dcxv.com/data-center#cloud бетінде қараңыз
Реттеу нұсқаулығы
DCXV бұлттық серверінде Next.js орналастыру шамамен 15 минут алады. Қадамдар Ubuntu 22.04-ке есептелген.
# Node.js 20 LTS орнату
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# Жобаны клондау және тәуелділіктерді орнату
git clone https://github.com/your-org/your-nextjs-app.git /var/www/app
cd /var/www/app && npm install
# Продакшен бандлын құрастыру
npm run build
# Процесс құламау үшін PM2 орнату және реттеу
npm install -g pm2
pm2 start npm --name "nextjs" - start
pm2 startup && pm2 save
# Nginx-ті кері прокси ретінде реттеу
sudo apt install nginx -y
sudo nano /etc/nginx/sites-available/app
# server блогында proxy_pass http://localhost:3000
sudo ln -s /etc/nginx/sites-available/app /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
Күтілетін өнімділік
Прагадағы 2 ядро / 4 ГБ бұлттық инстансындағы Next.js қолданбасы мынаны күте алады:
- TTFB (бірінші байтқа дейінгі уақыт) - Германиядағы, Австриядағы немесе Польшадағы қолданушыларға берілетін SSR беттері үшін 30-80 мс. Бұл АҚШ-та орналасқан ұқсастардан шамамен 3-4 есе жылдам.
- Өткізу қабілеті - кешке сақталған ISR беттері үшін секундына 200-400 сұрау. Дерекқорға сұраулары бар динамикалық SSR сұрау уақытына байланысты, бірақ әдетте секундына 50-150 сұрауды қолайлы ұстайды.
- Құрастыру уақыты - орташа Next.js жобасы (100 бет) 2 ядрода 60-90 секундта құрастырылады.
- Қолжетімділік - Tier III инфрақұрылымы қуат және желі резервтеуімен айына 99,9 пайыз қолжетімділікке бағдарланған.
ЕО-дағы Next.js - бұл сәйкестік белгісі ғана емес. Бұл еуропалық аудиторияңыз үшін өлшеуге болатын өнімділік артықшылығы.
Бұл өз зертханамыздағы өлшеу емес, осы сыныптағы жабдыққа арналған күтілім. Оларды өлшемді есептеудің бастау нүктесі деп санаңыз және өз жүктемеңізді өлшеңіз: нақты сандар провайдерден гөрі сіздің деректеріңізге, сұрауларыңызға және баптауыңызға әлдеқайда қатты байланысты.
