高流量網站架構及解決方案

 

 網站解決方案:高流量網站架構及解決方案
簡介 | 特色 | 注意事項  | Why LinuxYes | 適用企業 | 相關方案 | 我要購買
簡介

 

一般網站的訪客數目不多時,只要一台專屬的網站伺服器或是雲服務器就足以承載進來的流量。 但隨者網站受到歡迎,訪客不斷增加,主機承受的負載也會愈來愈重,這時就要開始思考增加伺服器,並將流量平均分配到多台網頁伺服器上。這樣做的好處是萬一其中一台伺服器無法承載流量或是硬體故障(健康監控沒有過),其它健康的主機還是可以繼續提供服務,避免訪客無法造訪網站。基本上就是放置一台負載均衡平衡器(Load Balancer)在網站伺服器前,將流量平均分配到每台網頁伺服器,並持續對網頁伺服器做健康監控。一旦發現主機無法提供服務時,將會把流量導向健康的節點上。所以一般大型網站都有數十台web server擺放在load balancer 下,由 load balancer提供負載均衡及http/https 代理功能。

High Traffic Website




 
架構特色
  • Web load balancer 做負載均衡及http/https 代理
  • 在 web server 前擺置多台  cache server 做網頁快取,加快網頁讀取速度。 cache server 的運作機制,詳見下面第三點說明。
  • web server 下面的一層就是資料庫主機以目前最多人用的LAMP架構(Linux+ Apache + MySQL+PHP) 來說,MySQL 就是資料庫主機基本上MySQL的架構有提供快取機制,所以可以很快查詢到資料但是對繁忙的網站來說,資料庫主機一樣會面臨負載過重,拖垮整個網頁的瀏覽速度,解決的方式大約有下面幾種:

   

  1. 配置多台MySQL DB Server,形成 MySQL Cluster,前端可以同時讀寫 DB Server, 除了做負載均衡外,萬一其中一台 DB server 故 障,還可以在其它DB主機查詢到資料。系統管理者可以針對故障的DB 主機做維修,等維修好又可以重新加入 MySQL Cluster,繼續提供服務,詳見 MySQL Galera Cluster
  2. 讀取資料庫是網站速度拖慢的原因之一,高流量網站一般 都會在Apache 設定做disk cache 或是 memory cache,當查詢進來,如果cache object 存在,就會直接從網站提供查詢結果給user,不必重複在DB Server 上做查詢,降低資料庫負載,也增加網頁反應的速度。
  3. 要提升高流量網頁的反應速度,除了上述兩點外,使用網頁加速器 (web accelerator),也是非常關鍵的解決方案。 網頁加速器 (web accelerator),可以大幅提升網頁反應速度,其原理就是在web server 前加入一台或多台 reverse proxy server 做cache 使用。當user 造訪網站時,首先cache server會先查詢主機內有無cache可以使用,如果有,會直接丟回給user 端瀏覽器。所以反應速度非常快。如果cache server 沒有,它就會向後端的web server做一次查詢,然後cache一份在web server 上,再提供給其它user 使用。這樣一來下一個user 如果做同樣查詢, cache server 就會直接回給user。當cache愈來愈多時, user 會明顯感到效能提升,因為大部分內容提供都會由 cache server提供,只有更新的網頁或資料庫,才會到後端,這樣可以大幅提升高流量網站的使用者滿意度。
注意事項

另外針對高流量網站架構,還有幾點要注意到

  • 網頁主機間程式的同步,如何做到自動化管理及監控
  • 如果有提供使用者上傳圖片,因為是在load balancer 下,如果直接upload到某台網站主機,下一個user因為load balancer 關係, user 可能會讀不到圖片。一般來說會獨立出幾台主機,專門負責上傳圖片,再由web server 讀取圖片。
  • php session 一 致性的問題。在負載平衡的架構下,因為是分配在不同的web server 上執行,有時程式需要session的一致,如投票程式。一旦php session找不到就會被強迫登出,雖然load balancer 可以調整演算法及設定,讓session儘量跑在同一台web server 上,但如果要達到完全一致,還是需要有一台session server,讓所有的session集中在一起,這樣session就確定可以找的到,避免應用程式因為session問題,造成認證失敗的狀況。
Why LinuxYes

LinuxYes 在Linux系統及伺服器架設服務上有多年經驗,可以協助企業
  • 導入合適的Web services, 包含高流量的網站架構
  • 與其它解決方案整合如 mail server, NFS server...等
 
適用企業

一般公司或機關團體需要一個高流量的網站
相關方案

建議貴公司可再購買下列方案,搭配 LinuxYes的高流量網站架構及解決方案:

我要購買


1.直接購買:請至LinuxYes 購物網站購買

2. Skype 線上客服:linuxyes.service Skype me
3. 網站客製化服務詢價
4. 直接與業務人員討論需求:請加 Line ID: linuxyes
5. 使用電子郵件詢問:Email住址會使用灌水程式保護機制。你需要啟動Javascript才能觀看它