Еуропада Node.js үшін бұлттық сервер
Node.js - веб-API, нақты уақыт қолданбалары және микросервистер үшін ең танымал орындау орталарының бірі. Қолданушыларыңыз Еуропада болса, Node.js қолданбасын еуропалық серверде іске қосу GDPR талабы да, кешігуді қысқартудың қарапайым жолы да. Бұл материал серверге қандай сипаттамалар қажет екенін, бәрін қалай реттеу керегін және DCXV бұлтының мұндағы орнын түсіндіреді.
ЕО-дағы хостинг Node.js үшін неге маңызды
Node.js қолданбалары жиі дербес деректерді өңдейді: қолданушы сессияларын, API токендерін, төлем метадеректерін, аналитика оқиғаларын. GDPR мұндай деректердің, оларды беруге жеке құқықтық негіздеріңіз болмаса, ЕО-да қалуын талап етеді. Еуропалық өнім үшін АҚШ провайдерін таңдау қолданушылар базасымен бірге өсетін сәйкессіздік қаупін туғызады.
Екінші жағы - өнімділік. Прагадағы Node.js сервері Берлиннен немесе Варшавадан келген қолданушының сұрауына желі деңгейінде 15 мс-тен аз уақытта жауап береді. АҚШ дата-орталығына бағытталған сол сұрау сіздің кодыңыз жұмыс істей бастамай тұрып 80 мс және одан көп қосады. WebSocket немесе server-sent events сияқты нақты уақыт функцияларында бұл алшақтықты қолданушы бірден байқайды.
Серверге қойылатын ең аз талаптар
Node.js жадыны үнемді пайдаланады, бірақ продакшенге орналастыру трафик шыңдары мен фондық процестерге қор талап етеді:
- RAM - бір Node.js процесі үшін кемінде 1 ГБ. Бірнеше воркері, кештеуі немесе процесс ішінде деректер өңдеуі бар продакшен қолданбаларына 2-4 ГБ ұсынылады.
- CPU - жеңіл API үшін 1-2 vCPU. Процессорды жүктейтін міндеттер орындасаңыз, PM2 кластерінің бірнеше воркерін іске қоссаңыз немесе көп WebSocket қосылымын ұстасаңыз 4 vCPU.
- Диск - 10-20 ГБ SSD. Node.js қолданбаларының өзі шағын, бірақ npm тәуелділіктері, журналдар және жүктелген файлдар жинақталады.
- ОЖ - Ubuntu 22.04 LTS - Node.js продакшені үшін ең кең қолдау көрсетілетін платформа.
DCXV-тің ұсынылатын конфигурациясы
DCXV Чехия мен Португалиядағы Tier III деңгейлі дата-орталықтарды ұстайды, екеуі де ЕО ішінде және GDPR-дың деректерді сақтау орнына қойылатын талаптарына сай. Бұлттық VPS тарифтері айына EUR 15-тен басталады, әрқайсысы тәулік бойғы инженер қолдауын қамтиды - тек өтінім жүйесі емес, тірі адамдар.
Бір мезгілде бірнеше жүз қолданушыға қызмет көрсететін Node.js API-і үшін 2 vCPU / 2 ГБ RAM тарифі сенімді бастау нүктесі. 4 воркерден тұратын PM2 кластерін іске қоссаңыз немесе ауыр WebSocket трафигін ұстасаңыз, 4 ГБ-қа өтіңіз. Жабдық деңгейінде оқшаулау қажет болса, bare-metal бөлінген серверлері айына EUR 49-дан қолжетімді.
Осы жерден бастаңыз: https://dcxv.com/data-center#cloud
Байланыс: sales@dcxv.com
Реттеу нұсқаулығы
DCXV бұлттық серверін (Ubuntu 22.04) жасағаннан кейін Node.js қолданбасын PM2 және Nginx-пен орналастыру үшін мына пәрмендерді орындаңыз:
apt update && apt install -y nginx
curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt install -y nodejs
npm install -g pm2
pm2 start app.js --name myapp --instances 2
pm2 startup systemd && pm2 save
Содан кейін Nginx-ті Node.js қолданбаңыздың портына (мысалы, 3000) кері прокси ретінде реттеп, systemctl reload nginx пәрменімен қайта жүктеңіз.
Күтілетін өнімділік
Прагадағы 2 vCPU / 2 ГБ бұлттық инстансында Node.js-тегі HTTP API қарапайым JSON жауаптарында секундына 1000-3000 сұраумен жұмыс істейді. WebSocket серверлері бір мезгілде бірнеше мың қосылымға төтеп береді. Дерекқорға жүгінбейтін сұраулардың жауап уақыты 5 мс-тен төмен қалады. PostgreSQL немесе Redis-ке жүгінетін нүктелер әдетте 5-20 мс қосады. ЕО-ның ірі қалаларынан (Амстердам, Берлин, Вена) Прагаға дейінгі желі кешігуі 5-15 мс.
Бұл өз зертханамыздағы өлшеу емес, осы сыныптағы жабдыққа арналған күтілім. Оларды өлшемді есептеудің бастау нүктесі деп санаңыз және өз жүктемеңізді өлшеңіз: нақты сандар провайдерден гөрі сіздің деректеріңізге, сұрауларыңызға және баптауыңызға әлдеқайда қатты байланысты.
