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

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

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

不同企業(yè),不同用戶量的系統(tǒng)在不同發(fā)展階段面臨著不同的痛點。一個系統(tǒng)從小往上成長的過程,也就是大型網站架構演進的過程。

如上圖。單主機階段,這個階段應用和數(shù)據(jù)庫部署在同一個主機里。此時的用戶量非常少,通常在1萬以內。這個階段的系統(tǒng)大多處于驗證階段,對高可用需求也是可有可無,對成本控制倒是非常敏感。

如上圖。數(shù)據(jù)庫分離單獨部署階段,這個階段將數(shù)據(jù)庫從原來的共用的那臺主機里分離出來部署到數(shù)據(jù)庫專用的主機上。隨著用戶規(guī)模的逐漸發(fā)展,單臺主機已經逐漸支撐不住并發(fā)流量了,而且隨著市場驗證,數(shù)據(jù)的價值開始凸顯,也有了對數(shù)據(jù)做備份的需求。于是數(shù)據(jù)庫被單獨分離出來部署到性能更好的主機上并做了初步的數(shù)據(jù)備份。

如上圖。負載均衡階段,這個階段應用使用集群部署并使用負載均衡轉發(fā)請求以分散單個主機節(jié)點壓力。用戶規(guī)模的持續(xù)增加讓單個業(yè)務系統(tǒng)節(jié)點無法支撐高峰期所有的并發(fā)流量,于是應用被改造成無狀態(tài)服務,而且在應用的前面使用了負載均衡器,由負載均衡器轉發(fā)流量給應用。這個階段雖偶爾有慢SQL產生,但一般能通過建索引等措施快速解決問題。
 

如上圖。分布式緩存階段,這個階段增加了分布式緩存或多級緩存來減輕系統(tǒng)流量對數(shù)據(jù)庫的讀壓力。在上一階段由于應用無狀態(tài)化改造后,應用的伸縮變得更容易了,隨著應用節(jié)點的增多和用戶流量的增加,系統(tǒng)的壓力明顯轉向數(shù)據(jù)庫了。此時的表現(xiàn)通常是慢SQL增多,或者雖然單個SQL查詢走了索引執(zhí)行計劃也最佳,但架不住請求量太多。于時開始有了分布式緩存服務,將熱點數(shù)據(jù)緩存起來并設置一定的過期策略,這樣大量的讀請求先到緩存查詢沒有結果再查數(shù)據(jù)庫,大大減輕了對數(shù)據(jù)庫的讀壓力。這個階段大概能支持百萬級注冊用戶了,多數(shù)的中小規(guī)模系統(tǒng)窮極一生大致也就處于這一階段。

如上圖。分布式文件系統(tǒng)階段,這個階段將系統(tǒng)中的圖片和其它非結構化的文件單獨使用分布式文件系統(tǒng)存取。在前面服務無狀態(tài)改造時,對于此類附件類的文件一般會有各種共享存儲或集中存儲的方案,如使用FTP或者NAS共享存儲的,但隨著業(yè)務發(fā)展,這部分業(yè)務的IO性能和容量瓶頸已經到來,也就產生了將這部分業(yè)務剝離出來單獨使用分布式文件系統(tǒng)來存取和管理的需求。

如上圖。讀寫分離階段,這個階段將數(shù)據(jù)庫分為主庫和從庫,新增的從庫承擔非實時讀的職能。雖然前面增加了分布式緩存后,對數(shù)據(jù)庫的熱點讀壓力已經大幅度減少,但始終單個數(shù)據(jù)庫的讀能力仍然有上限。而且還有管理后臺和報表這些非核心服務查詢主庫也造成了不小的壓力,這類報表通常SQL復雜多變又難于添加緩存,對于此類非實時查詢的業(yè)務,可以通過讀寫分離再次減輕主庫的讀壓力。如果單個從庫遇到讀瓶頸了,還可以配置一主多從,提供更多的從庫一起來承擔非實時讀壓力。讀寫分離的架構圖如下:

 
 

 
如上圖。搜索分離階段,這個階段將搜索從數(shù)據(jù)庫和系統(tǒng)中剝離出來使用專業(yè)的分布式搜索引擎實現(xiàn)。對于提供了C端搜索功能的業(yè)務系統(tǒng),早期使用數(shù)據(jù)庫實現(xiàn)的搜索效率非常低,在用戶并發(fā)請求量大時會大幅拖累數(shù)據(jù)庫。數(shù)據(jù)庫對全文索引和地理位置的支持非常有限,所以使用分布式搜索引擎將這部分剝離出去獨立實現(xiàn)。搜索分離其實本質是讀寫分離的一種特殊形式,讀寫分離是使用從庫承擔非實時讀壓力,而搜索分離是使用搜索引擎承擔搜索業(yè)務讀請求壓力。

如上圖。垂直分庫階段,這個階段通常會配合子系統(tǒng)或微服務的建設將不同的業(yè)務領域的主庫分離,形成每個業(yè)務領域一個主庫多個從庫的架構。截止到前面,我們擴展的都是系統(tǒng)的讀能力,雖然多數(shù)業(yè)務是讀多寫少,但隨著海量并發(fā)請求的到來,最終的瓶頸始終會出現(xiàn)在主庫的寫能力上,是時候考慮擴展寫能力了。
分表階段,這個階段通常是單表的容量或并發(fā)服務能力已經遇到了瓶頸,分為垂直分表和水平分表。垂直分表與垂直分庫類似,垂直分庫是按業(yè)務將一個大庫垂直分多個小庫,而垂直分表就是將一個大表按字段拆成多個字段較少的小表的過程。水平分表則是將一個表的記錄按數(shù)據(jù)范圍寫到同一個庫或者其他庫中結構相同的表里,最常見的范圍分表和哈希分表,如下圖:

 

 
隨著分布式數(shù)據(jù)庫的發(fā)展,多數(shù)的分布式數(shù)據(jù)庫原生就提供了數(shù)據(jù)分片和強大的伸縮能力。通過這些能力無需應用層的介入就能實現(xiàn)以前需要通過分庫分表和讀寫分離才能達到的效果。雖然目前分布式數(shù)據(jù)庫的技術仍然在發(fā)展和完善中,但趨勢已經非常明顯,技術的發(fā)展已經大幅度降低開發(fā)人員應對海量并發(fā)請求的技術門檻。

分享到:
標簽:架構 網站
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

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

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

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

答題星2018-06-03

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

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

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

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

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

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

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定