在寫小的負載均衡例子時有這樣的疑問,比如一個負載均衡服務器LBServer和三個工作服務器server1,server2,server3,外面的請求全部集中到LBServer,這個時候LBServer可以選擇根據算法重定向到具體的服務器;也可以根據算法做請求的轉發。假設是轉發請求的情況: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);那么有個問題,相對于重定向的方式,這種轉發請求的方式是不是需要很大的帶寬呢?我理解的是,三個server服務器只在不同的機器上,分擔了計算或者文件io的壓力,但是所有結果還是要回傳給LBServer并且由LBServer返回的啊。這樣對于負載均衡服務器LBServer來說壓力不會很大嗎?還是說我對這個模型理解錯了。。有前輩解答下嗎
負載均衡服務器,只是轉發請求的話,不會反而因為壓力大而更容易崩潰嗎?
三國紛爭
2018-10-15 21:26:33