Prima di tutto, vorrei dirvi ragazzi a capire la mia abilità inglese anche se è infelice leggerlo. Sto davvero cercando di imparare l'inglese al giorno d'oggi.
-
Al momento sto sviluppando una community Web che potrebbe avere 2k ~ 3,5k di visitatori al giorno. e il server web è in esecuzione su NodeJS + Express.
e sto utilizzando un testo standard chiamato react-starter-kit . e questo boilerplate ha HTTP, server API in una volta su una singola applicazione server NodeJS. (fornisce anche il rendering lato server)
mentre stavo lavorando per quel progetto, un pensiero sulle prestazioni improvvisamente mi venne in mente:
If this server serves both API and HTTP, Isn't it too heavy load on a single nodejs application? and when I rewrite the API part of server, It eventually affects whole web server..
quindi ho appena separato il server API dal server HTTP e funziona benissimo per quanto vedo. poi ho finalmente raggiunto quello che voglio chiedere.
Se il server API e il server HTTP sono separati, non ci vuole più tempo per caricare la pagina web dal momento che esegue SSR (rendering lato server) che significa recupero dei dati da server a server ?
di seguito lo scenario è ciò di cui mi preoccupo:
- un utente richiede una route
/me
. -
/me
route deve visualizzare le informazioni utente con firma corrente. - quindi il server HTTP tenta di ottenere / recuperare le informazioni utente con firma corrente con il token di autenticazione (JWT) che viene inviato al server HTTP dal client.
- ora il server HTTP è stato completato per eseguire il rendering di
/me
di route e inviarlo al client.
in questo scenario, il server HTTP dovrebbe elaborare una logica di recupero extra come quello che ho spiegato su 3 del flusso di scenari sopra. e poiché il server HTTP richiede al server API, penso che ci siano alcuni problemi:
- Ci vuole più tempo per iniziare a scaricare l'intera pagina web.
- Il server API è in conflitto con le informazioni sui client.
- Produce un carico più pesante sul server API poiché entrambe le richieste del client HTTP e HTTP su un server API.
Penso di aver frainteso i benefici di separating API and HTTP server
. qualcuno può correggere i miei pensieri? o dimmi se sto andando bene?