大型網站技術架構:核心原理與案例分析閱讀筆記四

來源:互聯網
上載者:User

標籤:session管理   降級   產生   不能   指標   源地址   實現   硬體故障   叢集   

大型網站核心架構要素之可用性

 

  網站的可用性指標是網站架構設計中的重要指標,對外是服務承諾,對內是考核指標。所以說,一個高可用的網站架構是一個公司所需要具備的。而在影響網站可用性的眾多因素中,硬體故障是常態,網站的高可用架構設計的主要目的就是保證伺服器硬體故障時,服務依然可用、資料依然儲存並能夠被訪問。

  實現上述高可用架構的主要手段是資料和服務的冗餘備份及失效轉移,一旦某些伺服器宕機,就將服務切換到其他可用的伺服器上,如果磁碟損壞,則從備份的磁碟中讀取資料。一個網站架構的基本分層模型是應用程式層、服務層、資料層,所以要實現上述高可用架構就是要實現應用的高可用、服務的高可用、資料的高可用。

  高可用的應用。一是通過負載平衡進行無狀態服務的失效轉移,簡單來說當多台伺服器組成的叢集中的某一台伺服器宕機,負載平衡伺服器通過心跳檢測機制發現該伺服器,隨後將對該伺服器的請求發送到這個叢集的其他伺服器上;二是應用伺服器叢集的Session管理,叢集環境下,Session管理的主要手段有:1.Session複製,使叢集中的每一台伺服器都儲存所有使用者的Session資訊;2.Session綁定,即利用負載平衡的源地址Hash演算法將Session綁定在某台特定的伺服器上,保證Session總能在這台伺服器上擷取,但是一旦存放Session的伺服器宕機,那麼該伺服器上的所有Session都不複存在了,所以很少網站用這個演算法。3.利用Cookie記錄Session,這種方式簡單易用,可用性高,但也有一些缺點限制4.Session伺服器,利用獨立部署的Session伺服器叢集統一管理Session,應用伺服器每次讀取Session,都訪問Session伺服器。

  高可用的服務。可複用的服務和應用一樣,也是無狀態的服務,因此可以使用類似負載平衡的失效轉移策略實現高可用的服務。除此之外,還有以下幾種高可用的服務策略:分級管理、逾時設定、非同步呼叫、服務降級、等冪性設計。

  高可用的資料。不同於高可用的應用和服務,一旦伺服器宕機,資料訪問請求不能任意切換到叢集中的其他伺服器上。這時不能單純的使用失效轉移機制,而是將資料備份和失效轉移機制結合起來。而關於快取服務的高可用性,我認為快取服務不是資料存放區服務,快取服務是為了加快資料讀取而產生的,解決快取服務器宕機所帶來的問題,不能通過提高快取服務本身的高可用。

大型網站技術架構:核心原理與案例分析閱讀筆記四

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.