vue axios跨域請(qǐng)求 Node服務(wù)器是如何處理大量請(qǐng)求的?
Node服務(wù)器是如何處理大量請(qǐng)求的?nodejs的底層是libuv。這個(gè)C庫(kù)提供了使用EventLoop處理網(wǎng)絡(luò)請(qǐng)求的機(jī)制,異步和無(wú)阻塞。當(dāng)請(qǐng)求到來(lái)時(shí),它們被放入事件隊(duì)列中,這個(gè)過(guò)程就像餐廳的廚房。廚
Node服務(wù)器是如何處理大量請(qǐng)求的?
nodejs的底層是libuv。這個(gè)C庫(kù)提供了使用EventLoop處理網(wǎng)絡(luò)請(qǐng)求的機(jī)制,異步和無(wú)阻塞。當(dāng)請(qǐng)求到來(lái)時(shí),它們被放入事件隊(duì)列中,
這個(gè)過(guò)程就像餐廳的廚房。廚房一輪一輪地做菜,但要做的具體菜取決于收銀員收到的顧客訂單。每次廚房端完一盤(pán)菜,就會(huì)去問(wèn)收銀員的小妹妹接下來(lái)有沒(méi)有菜要煮。如果沒(méi)有,下班后就會(huì)關(guān)門(mén)。
與傳統(tǒng)的多線程和多處理模式相比,這種方法減少了線程創(chuàng)建和切換的開(kāi)銷(xiāo)。因此,性能非常高。類(lèi)似于nginx的原理
當(dāng)Axios默認(rèn)發(fā)送post請(qǐng)求時(shí),參數(shù)以JSON的形式傳遞給后臺(tái),后臺(tái)(springmvc)需要通過(guò)添加映射到對(duì)象的注解@requestbody來(lái)接收。后臺(tái)開(kāi)發(fā)人員認(rèn)為我只有兩個(gè)參數(shù),我們必須封裝另一個(gè)對(duì)象,讓前端同事直接通過(guò)表單傳遞它。所以我們有以下解決方案:
const form=new formdata()表單.append(“用戶(hù)名”此用戶(hù)名)
表單.append(“密碼”此密碼)
表單.append(“記住”這個(gè)。記得嗎“”
const data=等待實(shí)例.post(“/auth/authorize”,新建URLSearchParams(form))
axios
.post(進(jìn)程環(huán)境基API_uLogin“/auth/authorize”,new URLSearchParams(form))
。然后(function(response){控制臺(tái).log( 響應(yīng).數(shù)據(jù))
})