日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > windows >内容正文

windows

互联网系统设计原则

發(fā)布時間:2025/3/19 windows 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 互联网系统设计原则 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

互聯(lián)網(wǎng)業(yè)務(wù)背景

隨這移動互聯(lián)網(wǎng)、云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)技術(shù)的發(fā)展,促進(jìn)電子商務(wù)、工業(yè)互聯(lián)網(wǎng)和互聯(lián)網(wǎng)金融等業(yè)務(wù)領(lǐng)域健康發(fā)展。無論是互聯(lián)網(wǎng)公司,還是傳統(tǒng)行業(yè),一切商業(yè)都將互聯(lián)網(wǎng)化,這幾乎是所有大佬能達(dá)成的唯一共識。所以目前我們面臨的首要任務(wù)就是構(gòu)建和改造我們的系統(tǒng)使其面向互聯(lián)網(wǎng)。

互聯(lián)網(wǎng)應(yīng)用的幾個特性:

? 高性能

? 高可用性

? 大數(shù)據(jù)

? 低成本

互聯(lián)網(wǎng)系統(tǒng)設(shè)計原則

面向互聯(lián)網(wǎng)化的過程中,系統(tǒng)架構(gòu)應(yīng)該按照以下幾個規(guī)則進(jìn)行設(shè)計。

1.1 業(yè)務(wù)架構(gòu)設(shè)計原則

1.1.1 業(yè)務(wù)平臺化

? 業(yè)務(wù)平臺相互獨立,如交易平臺、支付平臺、廣告平臺。

? 基礎(chǔ)業(yè)務(wù)下沉,可復(fù)用。如,用戶、商品、類目。

1.1.2 核心業(yè)務(wù)、非核心業(yè)務(wù)分離

? 系統(tǒng)核心業(yè)務(wù)與非核心業(yè)務(wù)分離,核心業(yè)務(wù)精簡(利于穩(wěn)定),非核心業(yè)務(wù)多樣化。如,如主交易服務(wù)、通用交易服務(wù)。

1.1.3 區(qū)分主流程、附流程

? 區(qū)分哪些是系統(tǒng)主流程。運(yùn)行時,優(yōu)先保證主流程順利完成,輔流程可以采用后臺異步化的方式。避免主流程失敗導(dǎo)致主流程的回滾。如,下單時,同步調(diào)用快照,異步通知臺賬,發(fā)表。

1.1.4 隔離不同類型的業(yè)務(wù)

? 交易業(yè)務(wù)就是簽訂買家、賣家之間的交易合同,需要確保高可用性,讓用戶能夠快速下單。

? 履約業(yè)務(wù)對可用性沒有太高的要求,可以優(yōu)先保證一致性。

? 秒殺業(yè)務(wù)對高并發(fā)要求很高,應(yīng)該跟普通業(yè)務(wù)隔離。

1.2 應(yīng)用架構(gòu)設(shè)計原則

1.2.1 穩(wěn)定性原則

? 一切以穩(wěn)定為中心

? 架構(gòu)盡可能簡單、清晰

? 不過度設(shè)計

1.2.2 解耦/拆分

? 穩(wěn)定部分與易變部分分離

? 核心業(yè)務(wù)與非核心業(yè)務(wù)分離

? 主流程與輔流程分離

? 應(yīng)用與數(shù)據(jù)分離

? 服務(wù)與實現(xiàn)細(xì)節(jié)分離

1.2.3 抽象化

? 應(yīng)用抽象化:應(yīng)用只依賴服務(wù)抽象,不依賴服務(wù)實現(xiàn)細(xì)節(jié)、位置

? 數(shù)據(jù)庫抽象化:應(yīng)用只依賴邏輯數(shù)據(jù)庫,不需要關(guān)心物理數(shù)據(jù)庫的位置和分片

? 服務(wù)器抽象化:應(yīng)用虛擬化部署,不需要關(guān)心實體機(jī)配置,動態(tài)調(diào)配資源

1.2.4 松耦合

? 跨域調(diào)用異步化:不同業(yè)務(wù)域之間盡量異步化解耦。

? 非核心業(yè)務(wù)盡量異步化:核心、非核心業(yè)務(wù)之間,盡量異步解耦

? 必須同步調(diào)用時,需要設(shè)置超時時間和任務(wù)隊列長度

1.2.5 容錯設(shè)計

? 服務(wù)治理:服務(wù)能彼此獨立修改、部署、發(fā)布和管理。避免引發(fā)連鎖反應(yīng)

? 集群容錯:

? 集群容錯:應(yīng)用系統(tǒng)集群,避免單點

? 多機(jī)房容災(zāi):多機(jī)房部署,多活

1.3 數(shù)據(jù)架構(gòu)設(shè)計原則

1.3.1 統(tǒng)一數(shù)據(jù)視圖

? 保證數(shù)據(jù)的及時性、一致性、準(zhǔn)確性、完整性

1.3.2 數(shù)據(jù)、應(yīng)用分離

? 應(yīng)用系統(tǒng)只能依賴邏輯數(shù)據(jù)庫

? 應(yīng)用系統(tǒng)不能直接訪問其他宿主的數(shù)據(jù)庫,只能通過服務(wù)訪問

1.3.3 數(shù)據(jù)異構(gòu)

? 源數(shù)據(jù)和目標(biāo)數(shù)據(jù)內(nèi)容相同時,做索引異構(gòu)。如,商品庫不同維度

? 內(nèi)容不同時,做數(shù)據(jù)庫異構(gòu)。如,訂單買家?guī)旌唾u家?guī)?/p>

1.3.4 數(shù)據(jù)讀寫分離

? 訪問量大的數(shù)據(jù)庫做讀寫分離

? 數(shù)據(jù)量大的數(shù)據(jù)庫做分庫分表

? 不同業(yè)務(wù)域數(shù)據(jù)庫做分區(qū)隔離

? 重要數(shù)據(jù)配置庫

1.3.5 合理使用緩存

? 數(shù)據(jù)庫有能力支撐時,盡量不要引入緩存

? 合理利用緩存做容災(zāi)

1.4 技術(shù)架構(gòu)設(shè)計原則-運(yùn)行時原則

1.4.1 可監(jiān)控

? 服務(wù)的TPS和RT是否符合SLA

? 是否出現(xiàn)超出預(yù)期流量

1.4.2 應(yīng)用可回滾,功能可降級

? 應(yīng)用出現(xiàn)問題時,要求能回滾到上一版本,或做功能開關(guān)或降級。

1.4.3 在線擴(kuò)容

? 超預(yù)期流量時,應(yīng)用系統(tǒng)可選擇在線水平擴(kuò)展

1.4.4 安全保證

? 確保系統(tǒng)保密性和完成性

? 具有足夠的防攻擊能力

1.4.5 可容錯

? 核心應(yīng)用要求多活,避免單點設(shè)計,并且自身有容錯和修改能力。故障時間TTR小

1.4.6 故障轉(zhuǎn)移

? 多機(jī)房部署,發(fā)生故障時,能即時切換

1.5 技術(shù)架構(gòu)設(shè)計原則-部署原則

1.5.1 N+1原則

? 確保為故障多搭一套系統(tǒng),避免單點問題。

? 功能開發(fā)與運(yùn)維分開。系統(tǒng)開發(fā)完成后,交給專業(yè)的運(yùn)維團(tuán)隊管理和運(yùn)營。

1.5.2 D-I-D原則

? 設(shè)計20倍的容量(Design)

? 實現(xiàn)3倍的容量(Implement)

? 部署1.5倍的容量(Deploy)

1.5.3 支持灰度發(fā)布

? 系統(tǒng)新上線,要求支持“灰度發(fā)布,分步切流量,故障回滾”

1.5.4 虛擬化部署

? 虛擬部署:系統(tǒng)采用虛擬機(jī)部署,節(jié)省資源和管理成本

1.5.5 業(yè)務(wù)子網(wǎng)

? 機(jī)房部署以業(yè)務(wù)域劃分:基本服務(wù)和數(shù)據(jù)庫,相同業(yè)務(wù)域的服務(wù)器部署在一起;不同業(yè)務(wù)域的服務(wù)器物理隔離

系統(tǒng)升級選取規(guī)則

對典型的社交類應(yīng)用的架構(gòu)及技術(shù)進(jìn)行分析,目前社交類應(yīng)用一般會包含的
架構(gòu)風(fēng)格有:微服務(wù),EDA、CQRS、前端 SPA,通過這些架構(gòu)風(fēng)格實現(xiàn)系統(tǒng)的可
擴(kuò)展性,高可用,以及在大用戶、高并發(fā)下的高性能等,具體的架構(gòu)風(fēng)格和關(guān)鍵
設(shè)計約束對應(yīng)關(guān)系如下:



總結(jié)

以上是生活随笔為你收集整理的互联网系统设计原则的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。