日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

1.0 版本 hello world

1.0 版本最簡單的網(wǎng)站,瀏覽客戶端以及移動端,通過DNS解析域名,然后訪問網(wǎng)站。網(wǎng)站可以通過JAVA web構(gòu)建,部署到Tomcat里面啟動,后端就是一個單點的MySQL 數(shù)據(jù)庫。這個網(wǎng)站已經(jīng)簡單到不能再簡單了。

從hello world 到百萬并發(fā)的網(wǎng)站演進思路

 

這個網(wǎng)站每秒處理兩三百個請求應(yīng)該是沒有問題的。但是有無論是webserver還是數(shù)據(jù)庫都是單點,任何一個掛了,整個網(wǎng)站就掛了。

 

2.0 版本 負載均衡

為了解決業(yè)務(wù)的單點故障,以及提升并發(fā)性能。我們還需要在 webserver前面加一個負載均衡器(load balancer),這個負載均衡器可以是一個Nginx或者haproxy。這個負載均衡器本身也是需要保障高可用的。客戶端請求先打到負載均衡,然后負載均衡會根據(jù)負載算法(輪訓(xùn)、最少連接數(shù)、權(quán)重、iphash等)將流量分配到后端 webserver中。

從hello world 到百萬并發(fā)的網(wǎng)站演進思路

 

可以配合健康檢查,如果有一個后端server 宕機了,負載均衡會自動將流量摘除,請求會轉(zhuǎn)發(fā)到其他的server上面,保障業(yè)務(wù)高可用。

3.0 版本 DB主從

在2.0 版本里面雖然解決了業(yè)務(wù)單點和并發(fā),但是當(dāng)業(yè)務(wù)流量增大時,數(shù)據(jù)庫往往成為性能的瓶頸。這時候第一步通常是把數(shù)據(jù)庫搞成集群,最簡單的集群就是 一主多從,譬如mysql主從之間通常通過binlog復(fù)制數(shù)據(jù)。主節(jié)點負責(zé)讀寫,而從節(jié)點只負責(zé)讀。

從hello world 到百萬并發(fā)的網(wǎng)站演進思路

 

這里就開始需要借助各種JDBC框架幫我們做讀寫分離。由于上面的主節(jié)點只有一個,宕機的時候還需要臨時將從節(jié)點提升為主節(jié)點,也可以部署多主多從結(jié)構(gòu),多master 都允許寫入。

3.1版本 DB分庫分表

3.0 版本的所有表都集中在一個數(shù)據(jù)庫(database)里面,那么這個請求集中在一個數(shù)據(jù)庫上。3.1 版本我們開始分庫分表,將表打散到不同的數(shù)據(jù)庫里面。

從hello world 到百萬并發(fā)的網(wǎng)站演進思路

 

如上圖,我們將product表、forums表以及users表 分別放到三個database里面.

3.2 版本 DB分片

3.1 版本雖然實現(xiàn)了分庫,但請求都還是集中在一個物理的DB 服務(wù)器上,如果數(shù)據(jù)量非常大,我們還可以采用分片的方式,我們可以部署多套DB服務(wù)集群,將一張表分配到不同的DB服務(wù)器存儲,譬如通過用戶ID做水平拆分。這個動作被稱為sharding。

從hello world 到百萬并發(fā)的網(wǎng)站演進思路

 

當(dāng)然我們也可以做垂直拆分,譬如將不同的表分配到不同的數(shù)據(jù)庫中。

4.0 緩存

這里的緩存分別兩部分,一部分是webserver里面添加緩存。很多數(shù)據(jù)先從cache server中,如果緩存中沒有,再去 database 中獲取。這里需要保障緩存和database數(shù)據(jù)的一致性。

從hello world 到百萬并發(fā)的網(wǎng)站演進思路

 

緩存如果被擊穿是非常危險的,很容易導(dǎo)致所有流量達到DB,直接干崩數(shù)據(jù)庫。除了給數(shù)據(jù)庫增加緩存,還可以給整個網(wǎng)站加緩存。客戶端通過域名解析,先訪問CDN,如果CDN沒有則會回源。

從hello world 到百萬并發(fā)的網(wǎng)站演進思路

 

CDN通常只緩存靜態(tài)數(shù)據(jù),譬如靜態(tài)網(wǎng)頁、視頻或者圖片。

5.0 匯總

好了,我們將上面的所有的東西都匯總一下畫到一個圖中。這里面主要涉及到負載均衡、數(shù)據(jù)庫分片、緩存和CDN。有些特別大的網(wǎng)站還會分地域部署,譬如在北美、歐洲會單獨部署一套服務(wù),然后有一個中心節(jié)點,地域的數(shù)據(jù)會定時同步到中心。

從hello world 到百萬并發(fā)的網(wǎng)站演進思路

 

分享到:
標(biāo)簽:演進 網(wǎng)站
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定