在寫小的負(fù)載均衡例子時有這樣的疑問,比如一個負(fù)載均衡服務(wù)器LBServer和三個工作服務(wù)器server1,server2,server3,外面的請求全部集中到LBServer,這個時候LBServer可以選擇根據(jù)算法重定向到具體的服務(wù)器;也可以根據(jù)算法做請求的轉(zhuǎn)發(fā)。假設(shè)是轉(zhuǎn)發(fā)請求的情況:http.createServer(function(req, res) { const target = selectTargetServer(server);
const targetAddress = LBSERVER_CONFIG[target].address; const pathname = url.parse(req.url).pathname;
const options = {
url:'http://' + targetAddress + req.url,
}
request
.get(options)
.pipe(res)
}
}).listen(port);那么有個問題,相對于重定向的方式,這種轉(zhuǎn)發(fā)請求的方式是不是需要很大的帶寬呢?我理解的是,三個server服務(wù)器只在不同的機器上,分擔(dān)了計算或者文件io的壓力,但是所有結(jié)果還是要回傳給LBServer并且由LBServer返回的啊。這樣對于負(fù)載均衡服務(wù)器LBServer來說壓力不會很大嗎?還是說我對這個模型理解錯了。。有前輩解答下嗎
負(fù)載均衡服務(wù)器,只是轉(zhuǎn)發(fā)請求的話,不會反而因為壓力大而更容易崩潰嗎?
三國紛爭
2018-10-15 21:26:33