網站用戶訪問逐漸增加,如何增加服務器承載能力?
時間:2020-06-06 作者:管理員(yuán) 點擊:675
當網站已經有不少用戶了之後,随着企業業務的不斷深入,網站的用戶也會不斷增加,那麽服務器需要同時承載的用戶數也在不斷的增加,服務器的配置是既定的,如何才能增加服務器承載能力呢?
一(yī)、負載均衡
對于用戶數較多、負載較大(dà)的網站,通常都會使用負載均衡(LB:LoadBalance)來增加服務器的承載能力。負載均衡有很多種不同的實現方式,從實現方式看,可以分(fēn)爲硬件負載均衡與軟件負載均衡兩大(dà)類。
硬件負載均衡有大(dà)名鼎鼎的F5之類,這種不差錢的企業會采用。但是現在互聯網公司用的越來越少。現在硬件使用較多的是使用支持OSPF協議的交換機(基本都支持了),通過ECMP做的負載均衡集群。但硬件負載均衡解決方案也有缺點,比如設備和服務費(fèi)用昂貴,靈活性差,功能和容量都難以擴展。
軟件負載均衡相對來說,靈活性強,擴展起來更容易,所以軟件負載均衡解決方案越來越受到青睐。
負載均衡到底是怎麽回事可以看看下(xià)面這個例子:
例如:想象下(xià)有一(yī)萬個用戶在一(yī)分(fēn)鍾内來訪問你的服務器。
遺憾的是,你的服務器在一(yī)分(fēn)鍾内隻能保證5千個用戶的流暢訪問。這怎麽辦呢?同時運行兩個服務器就行了,就是增加了服務器來分(fēn)配負載。
負載均衡器的功能就是把訪問請求分(fēn)發到兩台服務器上。用戶1往左,用戶2往右,用戶3再往左。。。以此類推。
如果一(yī)次有100萬個用戶同時訪問服務器,這該怎麽解決呢?确切地說,你可以擴展到200台付款服務器,之後讓負載均衡器分(fēn)發請求到這200服務器上。
二、緩存和内容分(fēn)發網絡(CDN)
我(wǒ)(wǒ)們使用緩存而不是對每個請求都重新處理,緩存用于記住最後一(yī)次的結果并交由其他服務或者客戶端,這樣就不用每次都請求後端服務了。
簡單的說,CDN的工(gōng)作原理就是将您源站的資(zī)源緩存到位于全球各地的CDN節點上,用戶請求資(zī)源時,就近返回節點上緩存的資(zī)源,而不需要每個用戶的請求都回您的源站獲取,避免網絡擁塞、緩解源站壓力,保證用戶訪問資(zī)源的速度和體(tǐ)驗。
三、分(fēn)片處理
分(fēn)片究竟是什麽意思呢?其實也很簡單:Facebook上需要爲20億用戶提供個人資(zī)料,可以把你的應用架構分(fēn)解爲26個mini-Facebook。
用戶名如果以A開(kāi)頭,會被mini-facebookA服務器處理,用戶名如果以B開(kāi)頭,會被mini-facebookB服務器來處理……
分(fēn)片不一(yī)定按字母順序,根據業務需要,你可以基于任何數量的因素,比如位置、使用頻(pín)率(特權用戶被路由到好的硬件)等等。你可以根據需要以這種方式切分(fēn)服務器、數據庫或其他方面。