- 跟老男孩學Linux運維:高性能Web集群實踐(上)
- 老男孩
- 2956字
- 2019-12-20 11:59:32
2.2 網站集群架構組成
2.2.1 生活中的集群架構模型及描述
先以一個生活中的示例來淺顯地理解一下集群架構是什么樣子的,是如何組成的。
圖2-1所示是我們去酒店吃飯的簡單流程圖,看似只是一次去吃飯的簡單事件,但是通過具體步驟的推進,我們會發現一次吃飯的過程其實就類似于訪問網站的過程。
具體描述說明
(1)酒店顧客(網站用戶)
酒店提供餐飲服務,最重要的一點就是要有顧客,對于企業網站集群來講就是訪問網站的客戶。
(2)酒店安保(網站防火墻)
酒店打開門做生意,會有消費者進來用餐消費,可能也會有不是來消費的不法分子,惡意破壞酒店運營,為了防止擾亂飯店運營秩序的人員進入,會有安保人員進行監管防范,這里的安保人員很像企業網站集群里的各種安全措施,如防火墻等。
(3)酒店迎賓(負載均衡器)
影響酒店用餐秩序的人員被阻擋在門外,正常用餐的顧客會被保安準許放行通過,放行通過的顧客會根據指引遇見飯店的迎賓人員,由迎賓人員帶領到相應的餐桌,繼而由相應的服務人員提供服務,這個酒店的迎賓人員,很像網站集群里的負載均衡器。

圖2-1 企業集群架構抽象示意圖
(4)酒店服務員(Web服務器)
顧客在經過迎賓人員的指引后,由接管的服務人員為顧客提供點餐服務,確認顧客所選擇的菜品后,會通過內場人員使用對講機告知后廚人員進行制作,這里的酒店服務員很類似網站集群里的Web服務器,接受用戶的訪問請求,然后根據需要決定是否訪問后端的數據庫和存儲服務。
(5)酒店后廚人員(后端數據庫及存儲)
后廚人員還會根據職責細化工作任務,有負責備菜的廚師,有負責炒菜的廚師,還有負責管理的廚師等,這個后廚人員就相當于網站集群后端的各種服務器,如MySQL數據庫服務,NFS存儲服務,Redis緩存服務等。
(6)酒店管理人員(管理、備份、監控等服務器)
一個酒店可以正常運轉,除了要擁有上述的相應環節以外,還需要酒店管理人員管理規劃相應員工的工作與職能,以及監管酒店的穩定運營,從而使酒店的經營能夠更加高效與穩定,網站集群里的服務器也會出故障、被攻擊、出數據問題,因此,需要有備份服務器(Rsync)保護數據安全,監控服務器(Zabbix)監控集群狀況。
至此,通過熟悉酒店用餐的全部環節,我們已經將一個酒店的運營架構繪制出來,其實真實的互聯網企業集群架構就可以依照酒店架構進行部署。
2.2.2 企業網站集群架構說明
通過在酒店用餐的過程我們已經初步了解了集群架構,但是作為一名真正的運維人員,對架構的理解還是要回到集群架構本身,以更為深刻地熟知架構的組成。通過圖2-2所示的從前端訪問到后端響應讓我們再真正熟悉一下集群架構組成和不同的組成部分所完成的功能。

圖2-2 企業集群架構真實示意圖
根據圖1-2所示的企業中的集群架構模型圖,可以將這個模型劃分成以下幾個環節進行分析。
1.網站用戶環節
網站提供訪問服務,最重要的一點就是要有用戶訪問,可能訪問的方式有很多種,可以通過瀏覽器、通過客戶端進行訪問等,但網站運作的根本還是能夠吸引用戶進行訪問。訪問網站的用戶就類似于酒店運營環節中的顧客。
2.網站安全環節
網站安全環節也是非常重要的,一個網站如果經常會受到攻擊者的破壞,根本無法滿足穩定運行的根本需求。互聯網企業中普遍的安全解決方案就是架設硬件或軟件防火墻設備以提高網絡安全性,阻止攻擊者的進入。網站架構中的防火墻類似于酒店運營環節中的安保人員。
3.網站通信環節
網站集群架構中會有多臺服務器負責不同的服務功能,而多臺服務器之間需要進行協同交流,在一個企業內部可以采用交換網絡架構,提供服務器設備間的通信需求,并且根據通信范圍進行劃分,分為外網交換網絡架構、內網交換網絡架構。外網交換網絡架構中的服務器設備,利用外網網卡的公網IP地址進行網絡通信;內網交換網絡架構中的服務器設備,利用內網網卡的私有IP地址進行網絡通信。企業網站中的網絡架構類似酒店運營環節中的人員交流需求。
4.網站反向代理負載均衡環節
企業集群架構中會有多個網站服務器,構建成Web服務器集群,共同完成同一項工作任務,這么多臺主機到底應該由誰來完成任務就成了問題。反向代理負載均衡服務器就起到了一個管理調度的作用,將接收的用戶訪問網站請求交由指定的Web服務器進行處理。企業網站中的反向代理負載均衡環節類似酒店運營環節中的迎賓人員。
5.網站Web服務環節
企業網站Web服務器是網站架構中的重要環節,主要用于處理用戶訪問網站的請求,并將處理結果返回給用戶,使用戶可以通過瀏覽器看到相應的頁面展示信息。對于Web服務而言,一般只能處理用戶的靜態訪問請求,一些動態訪問請求還需要交由后端服務器進行處理。企業網站中的Web服務環節類似酒店運營環節中的服務員。
6.網站數據庫存儲環節
網站數據庫類似于數據信息倉庫,系統會將一些網站注冊登錄的用戶數據信息匯總存儲在數據庫服務器中,當用戶再次訪問網站提出登錄請求時,系統會查詢數據庫信息,根據獲取到的數據庫信息判斷用戶是否注冊過。通過Web服務與數據庫服務的結合,可以對用戶的動態請求進行處理。網站數據庫存儲環節類似酒店運營環節的廚師。
7.網站數據存儲環節
網站數據庫中主要存儲的是字符或文字信息,而對于網站上的大量圖片、附件、視頻等數據資源會存儲在共享存儲服務器中。當用戶請求圖片或附件數據資源時,Web服務會將請求交由存儲服務進行處理,并將處理響應后的數據資源返回給用戶。Web服務與數據存儲服務結合,可以對用戶的靜態請求進行處理。網站數據存儲環節類似酒店運營環節的廚師。
8.網站緩存環節
運維技術領域,常見的存儲方式主要為硬盤存儲數據和內存存儲數據,兩種存儲方式相比較而言,內存存儲數據的效率更高一些,不管是對讀取還是寫入而言。當網站接收到大量用戶請求時,將一些經常需要讀取的熱點數據存儲在內存中,會大大提升用戶訪問效率,從而提升用戶體驗,緩存存儲服務器就提供了這樣的需求,利用內存作為存儲介質,進行熱點數據資源的存儲。網站緩存存儲環節類似酒店運營環節的廚師。
9.網站數據備份環節
網站集群架構中,最有價值的資源就是數據,特別是現在的互聯網網站運營模式,均采用的是交互模式,更多的網站數據資源都是由用戶所提供,一旦數據發生丟失,對于網站的運營將會是毀滅性的打擊,所以對網站數據的備份操作尤為重要,企業架構中的備份服務器就可以有效避免數據丟失情況的出現。網站數據備份環節類似酒店運營環節的廚師。
10.網站批量管理環節
隨著互聯網架構的不斷發展,企業集群架構規模也會變得越來越大,服務器數量從幾臺逐漸演變為幾十臺甚至幾百臺,運維人員采用原始的一臺一臺登錄管理,已經不能滿足日常的工作的需求,取而代之的是批量管理的方式,以滿足運維管理需求,所以大規模的集群架構中,需要有一臺批量管理服務器,對架構中的所有服務器進行統一配置。網站批量管理環節類似酒店運營管理環節中的經理。
11.網站監控管理環節
對于網站集群架構中,服務器的穩定持續運行是運維人員的重要職責所在,所有硬件設備都屬于易耗品,隨著運行時長的增加會出現各種故障,造成網站服務的異常,一旦出現問題及早發現,才能避免問題持續蔓延,合理的監控管理服務就可以有效提示運維人員架構中的異常,及早進行異常修復,從而有效避免網站架構出現全面癱瘓的可能性。網站監控管理環節類似酒店中所安裝的監視攝像頭。
酒店管理架構與網站集群的形象對比說明如表2-1所示。
表2-1 酒店管理架構與網站集群的形象對比說明

- 零起點學Linux系統管理
- Linux操作系統基礎
- SharePoint 2013 WCM Advanced Cookbook
- Installing and Configuring Windows 10:70-698 Exam Guide
- Windows Phone應用程序開發
- 數據中心系統工程及應用
- Linux就該這么學
- Moodle 3.x Teaching Techniques(Third Edition)
- 移動應用UI設計模式(第2版)
- 嵌入式系統原理及開發
- Linux系統最佳實踐工具:命令行技術
- Learn CUDA Programming
- 完美應用Ubuntu(第2版)
- Less Web Development Essentials
- 鴻蒙HarmonyOS應用開發從入門到精通