日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

構(gòu)建高并發(fā)&高可用&安全的IT系統(tǒng)

 long16 2017-07-26

什么是高并發(fā)?

狹義來講就是你的網(wǎng)站/軟件同一時間能承受的用戶數(shù)量有多少

相關(guān)指標有

并發(fā)數(shù):對網(wǎng)站/軟件同時發(fā)起的請求數(shù),一般也可代表實際的用戶

每秒響應(yīng)時間:常指一次請求到系統(tǒng)正確響的時間(以秒為單位)

TPS(每秒事務(wù)數(shù)):每秒鐘可以處理的事務(wù)(請求響應(yīng)),大概的計算公式為:并發(fā)數(shù)/每秒響應(yīng)時間=TPS

QPS(每秒查詢數(shù)):TPS事務(wù)有讀有寫,而QPS指的是讀取,一般情況QPS應(yīng)是高于TPS的

IP(獨立IP):一個IP可以發(fā)生多次UV和PV

PV(訪問量):即Page View,頁面瀏覽或點周量,用戶每次新刷新即被計算一次

UV(獨立訪客):一般通過cookies記錄等判斷為一個獨立用戶,同一IP可能有多個UV(共享IP),發(fā)生多次PV

流量(網(wǎng)絡(luò)流量):請求所產(chǎn)生的網(wǎng)絡(luò)流量,因為受限于帶寬也是并發(fā)中的一個重要指

一般公司演化階段

1、優(yōu)化運算代碼、SQL查詢、數(shù)據(jù)庫索引等

2、進行應(yīng)用負載均衡、數(shù)據(jù)庫做主從/主主復(fù)制進行讀寫分離、增加緩存(Redis\Mem)

3、對系統(tǒng)和數(shù)據(jù)進行垂直拆分,按業(yè)務(wù)模塊拆分成不同的應(yīng)用及數(shù)據(jù)庫表

4、分布式服務(wù)化、異步消息機制、數(shù)據(jù)庫表水平拆分

優(yōu)化運算代碼、SQL查詢、數(shù)據(jù)庫索引等

一般初創(chuàng)公司系統(tǒng)大多數(shù)都是單體單庫的系統(tǒng),按照成本優(yōu)先級第一要做的就是對系統(tǒng)進行代碼級的優(yōu)化。比如應(yīng)用代碼邏輯梳理、合理使用多線程、SQL避免全表掃描、少使用LIKE、

根據(jù)業(yè)務(wù)創(chuàng)建索引等。

案例

單次LIKE大數(shù)據(jù)量統(tǒng)計查詢Sending data狀態(tài)過多導(dǎo)致數(shù)據(jù)庫連接被耗盡,系統(tǒng)停止響應(yīng)。通過在統(tǒng)計表建立觸發(fā)器更新單值表解決

構(gòu)建高并發(fā)&高可用&安全的IT系統(tǒng)-高并發(fā)部分

構(gòu)建高并發(fā)&高可用&安全的IT系統(tǒng)-高并發(fā)部分

負載均衡、讀寫分離、緩存

到了第二階段,單體應(yīng)用通過優(yōu)化與增加硬件配置已無法解決高并發(fā)的問題,這時可以考慮進行以下架構(gòu)的演化,這種演化對系統(tǒng)基本沒有侵入性,成本低廉

負載均衡:

可以通過Nginx反向代理、F5等進行應(yīng)用的多流量分發(fā),需要解決的問題就是會話問題,可采用Nginx的路由或是SESSION同步/獨立。

讀寫分離:

采用數(shù)據(jù)庫的主從復(fù)制機制,將寫入庫與讀取庫分離,可采用中間件進行代理路由,基本可以不改代碼。

緩存:

可跟據(jù)業(yè)務(wù)規(guī)則將部分數(shù)據(jù)進行緩存

構(gòu)建高并發(fā)&高可用&安全的IT系統(tǒng)-高并發(fā)部分

應(yīng)用、數(shù)據(jù)垂直拆分

第二階段支撐過一定量后,隨著并發(fā)量再次的提升,由于單庫表數(shù)據(jù)量變大以及訪問限制已經(jīng)不能滿足,這時可以考慮進行數(shù)據(jù)庫表的按系統(tǒng)模塊垂直拆分。將內(nèi)聯(lián)的業(yè)務(wù)劃分為獨立的庫表,相應(yīng)的應(yīng)用也

應(yīng)隨之拆分(應(yīng)用這時加機器還能挺,不過做不到可審縮資源利用最大化)。同一應(yīng)用系統(tǒng)訪問同一庫表,應(yīng)用系統(tǒng)之間進行少量通信。

構(gòu)建高并發(fā)&高可用&安全的IT系統(tǒng)-高并發(fā)部分

分布式服務(wù)化、異步消息機制、數(shù)據(jù)庫表水平拆分

在經(jīng)歷過前三階段后,能走到第四階段說明平臺的發(fā)展非常好了,對系統(tǒng)的高并發(fā)又有了進一步的要求,這也是成本最高最復(fù)雜的,系統(tǒng)架構(gòu)需要進行很大的改造

分布式:

對系統(tǒng)應(yīng)用進行服務(wù)化(如微服務(wù)),服務(wù)化的目的不只是為了高并發(fā),也從系統(tǒng)的可維護性(團隊大了)、資源利用最大化(對服務(wù)進行差異化支撐)方面考慮。

面臨的挑戰(zhàn)主要是分布式事務(wù)方面的控制,可采用二階段提交方式或是分布式事務(wù)容器實現(xiàn)分布式事務(wù)。

異步消息機制:

主要解決大并發(fā)寫入瓶頸,利用消息對列對寫入消息進行排隊,待數(shù)據(jù)庫進

行處理。

數(shù)據(jù)庫表水平拆分:按一定規(guī)則將同一業(yè)務(wù)表的數(shù)據(jù)拆分到不同的庫/表中(如HASH),面臨的挑戰(zhàn)主要是跟業(yè)務(wù)關(guān)聯(lián)性強、跨表的數(shù)據(jù)合并等。解決方案就是寫

好代碼吧。。。

構(gòu)建高并發(fā)&高可用&安全的IT系統(tǒng)-高并發(fā)部分


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多