<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      大型網站架構體系的演變

      互聯網上有很多關于網站架構的各種分享,有些主要是從運維和基礎架構的角度去分析的(堆機器,做集群),太關注技術細節實現,普通的開發人員基本看不太懂。

      本文上篇將主要介紹大型網站基礎架構的擴展,下篇則重點從應用程序的角度去介紹網站架構的擴展和演變。

       

      草根時期,快速開發網站并上線。當然,通常只是先試水,用戶規模也沒有形成,經濟能力和投入也非常有限。

      有一定的業務量和用戶規模了,想提升網站速度,于是,緩存出場了。

      市場反響還不錯,用戶量每天在增長,數據庫瘋狂讀寫,逐漸發現一臺服務器快撐不住了。于是,決定把DB和APP做分離。

      單臺數據庫也感覺快撐不住了,一般都會嘗試做“讀寫分離”。由于大部分互聯網“讀多寫少”的特性所決定的。Salve的臺數,取決于按業務評估的讀寫比例。

       

      數據庫層面是緩解了,但是應用程序層面也出現了瓶頸,由于訪問量增大,加上早期程序員水平有限寫的代碼也很爛,人員流動性也大,很難去維護和優化。所以,很常用的辦法還是“堆機器”。

       

      加機器誰都會加,關鍵是加完之后得有效果,加完之后可能會引發一些問題。例如非常常見的:頁面輸出緩存和本地緩存的問題,Session保存的問題......

      到這里,已經基本做到了DB層面和應用層面的橫向擴展了,可以開始關注一些其它方面,例如:站內搜索的精準度,對DB的依賴,開始引入全文索引。

      Java領域用的較多的是Lucene、Solr等,而php領域用的比較多的是sphinx/coreseek。

      到目前為止,一個能夠承載日均百萬級訪問量的中型網站架構基本介紹完了。當然,每一步擴展里面都會有很多技術實現的細節,后續有時間會寫文章單獨去剖析那些細節。

       

      在做擴展滿足了基本的性能需求后,我們會逐漸關注“可用性”(也就是我們通常聽別人吹牛時說的SLA、幾個9)。如何保證真正“高可用”,也是個難題。

      幾乎主流的大中型互聯網公司,都會有用到類似的架構,只是節點數不同而已。

       

      還有一招用的比較多的,那就是動靜分離。可以需要開發人員配合(把靜態資源放獨立站點下),也可以不需要開發人員配合(利用7層反向代理來處理,根據后綴名等信息來判斷資源類型)。有了單獨的靜態文件服務器之后,存儲也是個問題,也需要擴展。多臺服務器的文件怎么保持一致,買不起共享存儲怎么辦?分布式文件系統也派上用場了。

      還有一項目前國內外用的非常普遍的技術CDN加速。目前該領域競爭激烈,也已經比較便宜了。國內南北互聯網問題比較嚴重,使用CDN可以有效解決這個問題。

      CDN的基本原理并不復雜,可以理解為智能DNS+Squid反向代理緩存 ,然后需要有很多機房節點提供訪問。

       

      截止目前為止,都沒有怎么去改動應用程序的架構,或者說通俗點,都不怎么需要大面積的修改代碼。

      如果上面那些手段都用光了,還是支撐不住怎么辦?不停的加機器也不是辦法啊?

      隨著業務越來越復雜,網站的功能越來越多,雖然部署層面是采用的集群,但是應用程序架構層面還是“集中式”的,這樣會導致很多耦合,不便于開發、維護,而且容易“一榮俱損”。所以,通常會把網站拆分出不同的子站點來單獨宿主。

      應用都拆了,由于單個數據庫的連接,QPS,TPS,I/O處理能力都非常有限,DB層面也可以去做垂直分庫操作

      拆分應用和DB之后,其實還是會有很多問題。不同的站點,里面可能會有相同邏輯和功能的代碼。當然,對于一些基礎的功能我們可以封裝DLL或者Jar包去到處提供引用,但是這種強依賴也很容易造成一些問題(版本問題、依賴關系等處理起來非常麻煩)。這樣,傳說中的SOA的價值就得到體現了。

      應用、服務之間還是會出現一些依賴問題,這時候,高吞吐量的解耦利器出現了

       

       

      最后,還介紹一個大型互聯網公司都用的絕技--分庫分表。個人經驗,不是業務發站和各方面非常迫切,不要輕易走這一步。

      因為分庫分表誰都會干,關鍵是拆完之后怎么辦。目前,市面上還沒有完全開源免費的方案,能讓你一勞永逸地解決數據庫拆分問題。

      posted @ 2015-06-07 12:20  丁碼農  閱讀(4293)  評論(21)    收藏  舉報
      主站蜘蛛池模板: 亚洲av乱码一区二区| 精品无码久久久久国产电影| 国产熟女丝袜av一二区| 日韩精品国产二区三区| 林周县| 国产在线午夜不卡精品影院| 强奷漂亮人妻系列老师| 蜜桃久久精品成人无码av| 婷婷色香五月综合缴缴情香蕉| 精品人妻大屁股白浆无码| 国产亚洲精品福利在线无卡一| 亚洲国产av永久精品成人| 亚洲高清免费在线观看| 人妻中文字幕亚洲精品| 国产亚洲精品97在线视频一| 少妇愉情理伦片丰满丰满午夜| 绵阳市| 国产乱码日韩亚洲精品成人| 东京热人妻丝袜无码AV一二三区观 | 无码福利写真片视频在线播放| 国产一区二区av天堂热| 国产高清在线精品一区APP| 少妇高潮灌满白浆毛片免费看| 国产精品综合在线免费看| 人妻一区二区三区三区| 国内精品卡一卡二卡三| 99久久免费精品国产色| 亚洲gay片在线gv网站| 久久综合88熟人妻| 无码日韩精品一区二区免费| 国产精品99中文字幕| 国产偷国产偷亚洲清高动态图| 鲁一鲁一鲁一鲁一澡| 国产一区二区波多野结衣| 在办公室被c到呻吟的动态图| 国产一区二区黄色在线观看| 欧美人成精品网站播放| 大桥未久亚洲无av码在线| 在国产线视频A在线视频| 欧洲精品色在线观看| 1000部拍拍拍18勿入免费视频下载|