成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

五層拆解 聽酒哥講網站架構

原創
網絡
從所周知,大家習慣將網站分成三層:即負載均衡層、web層、數據庫層,但我根據線上的實際壓力情況,強烈建議分成五層,即硬件防護層、負載均衡層、web層、文件服務器層(圖片)、數據庫層,這樣大家理解一個簡單的網站可能更容易。理解了最基礎的網站后,再理解大型網站架構可能就更容易了。

【51CTO.com獨家特稿】前言:從以前維護大型的CDN廣告網站,然后獨立做股票類的資訊網站,再到維護目前公司的電子商務網站,網站的架構或多或少的接觸了不少;很多同學或同行也在向我咨詢網站架構的事,所以我將維護過的網站架構稍為整理下,希望能給大家帶來幫助,了解網架構到底是怎么一回事。

眾所周知,大家習慣將網站分成三層:即負載均衡層、web層、數據庫層,但我根據線上的實際壓力情況,強烈建議分成五層,即硬件防護層、負載均衡層、web層、文件服務器層(圖片)、數據庫層,這樣大家理解一個簡單的網站可能更容易。理解了最基礎的網站后,再理解大型網站架構可能就更容易了。

 

硬件防火墻層:

這一層最重要的是安全防護,最基本的是要防止DDOS攻擊及應用層的防護等。我目前應用得比較好的是華賽的三層防火墻+天泰七層應用防火墻,具體實施案例請參考我在51cto.com的文章,這里限于篇幅我就不詳細說明了;如果成本預算不是太高的話,可考慮Juniper系統的防火墻,效果也不錯。

負載均衡層

這一層要考慮的東西其實很多,包括:

一、你考慮布署的網站到底要承受多大的并發量;

二、負載均衡層是否能穩定,存在單點故障嗎;

三、成本的考慮有時要高于技術的;

四、網絡的情況也決定了你到底要考慮哪種負載均衡器。

基于以上幾點情況,我拿實際情況分明下:

我最早之前維護的CDN廣告網站,并發長期在6000以上,所以只能考慮F5,而又要做到高可用,此時不是單F5了,所以上了二臺F5,當然成本也非常的高;公司光在F5上的投入,大約應該在60-80萬之間,相信這樣的投入,未必會被你所在公司的決策層所接受;而我后期維護及布署的證券類資訊網站,并發比較小,大約在200之間,所以我用了二臺Linux機器作的LVS+Keepalived,效果也不錯,相當穩定;而現在維護的公司的電子商務網站,并發大約在1.1K左右,初期我們其時也考慮的是LVS+Keepalived,但上上去就發現公司的網絡情況非常亂,每臺服務器至少有六七條靜態路由,lvs上上去根本就發揮不了作用,所以換上了Nginx+keepalived,我也編寫了shell監控nginx服務進程,實現真正意義上的負載高可用。這一層我總結了下,其時考慮以下幾點情況,即成本、網絡、并發、高可用。

web集群層

這一層為了避免單點故障,大家都用的是Apache、Nginx或tomcat集群,其好處也很明顯:①避免單點故障;②負載客戶端的高并發請求。Apache是LAMP架構最核心的WebServer,開源、穩定、模塊豐富是Apache的優勢。但Apache的缺點是有些臃腫,內存和CPU開銷大,性能上有損耗,不如一些輕量級的Web服務器(例如Nginx)高效,輕量級的Web服務器對于靜態文件的響應能力來說遠高于Apache服務器。而且現在根據實際的線上環境,Nginx服務器抗并發確實高于Apache,這一點張宴的博客已作了大量詳細敘述,但在Apache在高內存(>=16G)的情況下,單Apache的抗并發能力也是很強的,高于6000。我現在的做法是,如果是生級現有的以Apache作為webserver的網站,我單純只是考慮加上Nginx作負載均衡,不會動原有網站的架構;如果是架構新網站,我會采用Nginx作為webserver。

文件服務器層

這一層的作用容易被人忽視,其實現在服務器的性能都上上去了,并發情況也都被大家重視,但服務器層的壓力卻甚少有人關心,在大規劃的頻繁的訪問過程中,單NFS越來越不能滿足網站的需求了,我們有時接到用戶反映網站慢的情況,結果采用故障排查才發現,居然是NFS不堪重負,針對于這種情況,目前采用的方案有:

①可采用田逸推薦的分布式文件系統MFS(moosefs)實現存儲共享,他目前將此系統應用于遨游,線上用的東西畢竟比較有說服力;

②直接用NEC的存儲,雖然強悍,但增加了網站的實施成本及復雜度;

③用DRDB+Heartbeat+NFS組建NFS集群,效果也很穩定,但也要注意Heartbeat的腦裂問題。

數據庫層

為了更好的說明力,我這里用的網站都以電子商務和廣告網站,這些對數據庫要求嚴苛的網站來說明,這些網站對數據庫的要求是很高的,在數據庫并發、穩定及延時性方面均有要求,MySQL在性能、穩定性和功能上是首選,可以達到百萬級別的數據存儲。目前采用的方案有:

①目前多采用MySQL的主從方案,實際讀寫都采用單一服務器,服務器采用公司性能最好的服務器充當(MySQL的cluster暫時不敢用于線上環境);

②采用oracle的RAC雙機方案,在實際高并發的數據庫需求下,效果還是相當不錯。

加速緩存層

PHP的負載采用Apache集群,使用squid進行緩存,html或圖片的請求可以直接由squid返回給用戶。這一層可以根據你的網站情況來考慮,現在由于Nginx的反向代理越做越好,我們其實可以用最前端的Nginx來充當反向代理,這時的Nginx服務器,充當的作用是負載均衡器/反向代理;張宴已將其用于了生產環境,具體可參考他的相關文檔.

網站架構是一個藝術活,責任重大;系統架構師不等于系統工程師,要想從系統工程師到系統架構師,不僅需要許多多年的運維經驗和廣泛的運維知識,還需要付出大量的努力,希望大家都成為未來的系統架構師,最后祝大家工作愉快!

【51CTO.com獨家特稿,非經授權謝絕轉載!合作媒體轉載請注明原文出處及作者!】

責任編輯:林琳 來源: 51CTO.com
相關推薦

2010-11-15 09:10:43

CrontabLinux計劃任務

2013-10-25 09:32:52

OSI七層協議TCP協議

2011-07-14 13:10:44

負載均衡Nginx

2018-07-03 15:20:36

Promise函數借錢

2016-08-30 18:01:12

raftSQLNewSQL

2025-02-14 08:50:00

架構開發軟件

2020-05-08 08:50:26

Java垃圾JVM

2025-04-08 08:10:00

2019-07-09 13:54:19

網絡模型網絡協議TCP

2019-07-16 10:42:02

網絡模型TCP

2009-09-24 09:05:55

職業規劃周云飛

2021-02-10 12:45:14

亞馬遜云服務AWS劍南春

2017-04-17 09:56:43

系統架構體系

2021-10-29 21:26:39

前端引擎層類型

2011-05-10 17:06:05

SEO

2024-08-16 18:42:23

2012-06-07 10:22:48

架構設計邏輯層物理層

2011-04-19 13:53:41

三層架構

2017-08-11 14:04:39

DEM功能武器

2022-03-23 15:09:50

數字化轉型數字化
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 好好的日在线视频 | 国产一区二区不卡 | 免费一区| 国产一区在线免费观看视频 | 2018天天干天天操 | 国产精品中文在线 | 日韩成人在线视频 | 欧美日韩高清在线观看 | 欧美性吧| 日韩免费视频一区二区 | 一区二区三区视频在线观看 | 日韩一区二区av | 国精产品一区二区三区 | 人人人干 | 91视频网址 | 日韩av第一页 | 亚洲精品视频一区 | 中文字幕一区二区三区四区五区 | 欧美日韩久久精品 | 91精品国产91久久综合桃花 | 亚洲电影一区二区三区 | 精品视频一区二区 | 国产精品99精品久久免费 | 91免费高清视频 | 久久久久久成人 | 91视频精选 | 欧美中文字幕在线观看 | 成年人免费看的视频 | 亚洲男女视频在线观看 | 久久不射电影网 | 伊人精品在线 | 资源首页二三区 | 久久y| 久久久久久久久中文字幕 | 亚洲国产精品va在线看黑人 | 午夜精品一区二区三区在线视频 | 国产99久久精品 | 日韩高清国产一区在线 | 久久久久久久久久久久久9999 | 国产欧美日韩精品在线观看 | 国产精品高清一区二区三区 |