LINUX是開源的,這也是最主要的原因,想學Windows,Unix對不起,沒有源代碼。也正是因為這樣,LINUX才能夠像雪球一樣越滾越大,發展到現在這種規模。今天將為大家帶來關於Linux主流框架運維工作剖析,大家一定要認真閱讀哦~ 隨著IT運維的不斷發展,尤其的Linux的飛速發展,越來越多的企 ...
LINUX是開源的,這也是最主要的原因,想學Windows,Unix對不起,沒有源代碼。也正是因為這樣,LINUX才能夠像雪球一樣越滾越大,發展到現在這種規模。今天將為大家帶來關於Linux主流框架運維工作剖析,大家一定要認真閱讀哦~
隨著IT運維的不斷發展,尤其的Linux的飛速發展,越來越多的企業開始使用Linux操作系統平臺,例如CentOS、RedHat、Ubuntu、Fedora等等,成千上億個網站涌現在當今互聯網,互聯網已經成為必不可少的工具,那今天我們跟大家一起來分享討論目前用的最多的Linux下主流網站架構:
LVS+KEEPALIVED(heartbeat)+Squid+Nginx/Apache+java/php
+MySQL/MariaDB等,分享一個簡單的拓撲圖,供各位同學實驗參考
一般網站總體分為四層,依次為前端負載均衡、中間代理、後端服務、資料庫層。
當然除了這個整體的流程,不同的公司擴展的東西也非常多,各種系統不斷的往這個架構裡面添加,形成一個非常龐大、複雜的系統。那接下來我們對每個層級運維人員需要註意的細節:
1) LVS負載均衡層如下:
LVS負載均衡層主要用來抵禦大流量及轉發數據功能,一般基於TCP/IP 四層協議進行轉發,根據不同的內部環境使用的轉發方式也不一樣,通常DR模式效率比較高,LVS+keepalived結合,可以使用keepalived去管理我們整個配置文件,讓負責均衡變得簡單實用,可以各種策劃來檢查後端Nginx或者Squid服務是否正常。
LVS簡單工作原理:用戶請求LVS VIP,LVS根據轉發方式和演算法,將請求轉發給後端伺服器,後端伺服器接受到請求,返回給用戶,對於用戶來說,看不到WEB後端具體的應用。
運維人員在維護LVS中,需要密切關註LVS當前轉發連接數及系統LVS日誌。通過監控平臺監控VIP、真實IP的情況、連接數的情況。
2) Nginx反向代理層如下:
Nginx是目前主流的高性能WEB伺服器,Nginx因為非常不錯的穩定性、豐富的功能集、示例配置文件和低系統資源的消耗等優點,目前發展勢頭非常火爆。
Nginx主要基於7層應用,能夠實現各種規則轉發,反向代理我們後端的JAVA、PHP動態伺服器,同時Nginx本身處理靜態頁面的能力官方理論併發5w/s,同時Nginx還可以作為緩存伺服器存儲我們靜態頁面緩存,性能跟squid不相上下。
作為IT運維人員在日常運維中,需要長期的關註網站的整體運行情況,分析網站瓶頸,不斷優化Nginx的相關參數,並確保Nginx跟後端服務連接是否有異常等。
3) 後端服務層如下:
後端存放我們真正的網站和後臺服務,通過前端Nnginx調用,後端常見的服務解析軟體,如果是jsp語言的話,容器為Tomcat、Resin、Weblogic等等。
如果是PHP程式,我們就需要安裝PHP環境來解析php代碼,然後通過前端Nginx反向代理提供給用戶訪問。
在日常的運維中,需要註意後端服務層的監控,及連接數的問題,要實時關註並監控後端服務的正常,配置多實例,冗餘案例。
4) 資料庫層如下:
目前互聯網主流資料庫有Mysql、Mariadb、mongodb、Oracle等等,對於資料庫是整個架構的核心層,而且數據是企業生存之本,所以資料庫的架構和維護也是至關重要的。中大型的互聯網公司都有自己專職的DBA人員負責Mysql的運行和維護。
對於IT運維人員在維護資料庫時需要密切關註資料庫併發數、連接池等變化,關註資料庫主從、讀寫分離狀態及日誌的變化情況,並制定完整的備份機制完成資料庫的備份,有問題及時處理。
課外知識分享:
日常生活中,我們似乎與Windows打交道更多,實際上我們也在無聲無息中與Linux打交道。
Android把Linux交到全球無數移動設備消費者手中,大概這也是迄今為止Linux在主流界取得的最大成功。
Linux之所以能成為操作系統屆的重要一員並日益扮演越來越重要的角色與其眾多優點是分不開的。
首先,Linux是一款免費的操作系統,這一點上Linux與Windows形成鮮明對比。
Linux用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。
這是其他的操作系統所做不到的。
正是由於這一點,來自全世界的無數程式員參與了Linux的修改、
編寫工作,程式員可以根據自己的興趣和靈感對其進行改變。
這讓Linux吸收了無數程式員的精華,不斷壯大。
其次,Linux可以完全相容POSIX 1.0標準,這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程式。