Linux系統主流架構一前端
隨着IT運維的不斷髮展,尤爲的Linux的飛速發展,愈來愈多的企業開始使用Linux操做系統,例如:Centos、Red Hat、Ubuntu、Fadora等等,成千上億個網站涌如今當今互聯網,互聯網已經成爲必不可少的工具,那今天我跟你們一塊兒來分享討論目前的最多的Linux下主流網站架構:算法
LVS+Keepalived(Heartbeat)+Squid+Nginx/Apache+Java/PHP+Mysql/MariaDB等sql
分享一個簡單的拓撲圖,共各位同窗實驗參考:mongodb
通常網站整體分爲四層,依次爲前端負載均衡、中間代理、後端服務、數據庫層。數據庫
固然除了這個總體的流程,不一樣的公司擴展的東西也很是多,各類系統不斷的往這個架構裏面添加,造成一個很是龐大、複雜的系統。那接下來咱們對每一個層級運維人員須要注意的細節:後端
1)LVS負載均衡層緩存
LVS負載均衡層主要用來抵禦大流量及轉發數據功能,通常基於TCP/IP四層協議進行轉發,根據不一樣的內部環境使用的轉發方式也不同,一般DR模式效率比較高,LVS+Keepalived結合,可使用Keepalived去管理咱們整個配置文件,讓負載均衡變得簡單使用,能夠各類策劃來檢查後端Nginx或者Squid服務是否正常。服務器
LVS簡單工做原理:用戶請求LVS VIP,LVS根據轉發方式和算法,將請求裝發給後端服務器,後端服務器和接受請求,返回給用戶,對於用戶來講,看不到WEB後端的應用。架構
運維人員在維護LVS中,須要密切關注LVS當前轉發鏈接數及系統LVS日誌。經過監控平臺監控VIP、真實IP的狀況、鏈接數的狀況。併發
2)Nginx反向代理層
Nginx是目前基於7層應用,可以實現各類規則轉發,反向代理咱們後端的Java、PHP動態服務器,同時Nginx自己處理靜態頁面的能力官方理論併發5w/s,同時Nginx還能夠做爲緩存服務器存儲咱們靜態頁面緩存,性能跟squid不相上下。並確保Nginx跟後端服務鏈接是否異常等。
3)後端服務層
後端存放咱們真正的網站和後臺服務,經過前端Nginx調用,後端常見的服務解析軟件,若是是jsp語言的話,容器爲Tomcat、Resin、Weblogic等等。
若是是PHP程序,咱們就須要安裝PHP環境來解析PHP代碼,而後經過前端Nginx反向代理提供給用戶訪問。
在平常的運維中,須要注意後端服務層的監控,及鏈接數的問題,要實時關注並監控後端服務的正常,配置多實例,冗餘案例。
4)數據庫層
目前互聯網主流數據庫有MySQL、mariadb、mongodb、Oracle等等,對於數據庫是整個架構的核心層,並且數據是企業生存之本,因此數據庫的架構和維護也是相當重要的。中大型互聯網公司都有本身專職的DBA人員負責MySQL的運維和維護。
對於IT運維人員在維護數據庫時須要密切關注數據庫的併發數、鏈接池等變化,關注數據庫主從、讀寫分離狀態及日誌的變化狀況,並制定完整的備份機制完成數據庫的備份,有問題及時處理。