1. 程式人生 > >程式架構探討—005 應用伺服器叢集的伸縮性之反向代理負載均衡

程式架構探討—005 應用伺服器叢集的伸縮性之反向代理負載均衡

利用反向代理也可以做負載均衡。如下圖所示,

反向代理伺服器處於WEB伺服器的前面,既可以提供反向代理,也可以管理一組web伺服器,將請求根據負載均衡演算法轉發到不同的web伺服器上。web伺服器處理完成的響應再通過反向代理伺服器返回給使用者。由於web伺服器不直接對外提供訪問,因此web伺服器不需要使用外部IP地址,而反向代理伺服器則需要配置雙網絡卡和內部外部兩套IP地址。     上圖中,瀏覽器訪問請求的地址是反向代理伺服器的外部地址:198.100.80.0,反向代理伺服器收到請求後,根據負載均衡演算法得到一臺真實物理伺服器地 址:192.0.0.3,並將請求轉發給這條伺服器。192.0.0.3處理完成後將相應返回給反向代理伺服器,反向代理伺服器再將相應返回給使用者。     由於反向代理伺服器轉發請求在http協議層,因此也叫應用層負載均衡。優點是和反向代理伺服器功能整合在一起,部署簡單。缺點是發哪項代理伺服器是所有請求和響應的中轉站,效能會成為瓶頸。