一芦倒、什么是分布式艺挪?
1、如何滿足大型互聯(lián)網(wǎng)系統(tǒng)的架構(gòu)兵扬?
① 如何理解互聯(lián)網(wǎng)項(xiàng)目
- 傳統(tǒng)項(xiàng)目:OA麻裳、CRM等系統(tǒng)內(nèi)部員工系統(tǒng),大多數(shù)為ToB的內(nèi)部項(xiàng)目
- 互聯(lián)網(wǎng)項(xiàng)目:電商器钟、聊天平臺(tái)等津坑,存在各類網(wǎng)民,大多數(shù)為ToC的外部項(xiàng)目
區(qū)別
在于用戶群體傲霸,細(xì)化來說在于用戶群體的類別和數(shù)量上的問題疆瑰。互聯(lián)網(wǎng)項(xiàng)目需要考慮用戶的忍耐力昙啄。
互聯(lián)網(wǎng)產(chǎn)品要考慮用戶體驗(yàn)穆役,主要分為交互體驗(yàn)、功能適配梳凛、響應(yīng)速度以及應(yīng)用的穩(wěn)定性耿币。
在分布式應(yīng)用中,交互體驗(yàn)和功能適配與后端無關(guān)韧拒,后端需要著重思考速度和穩(wěn)定性的問題淹接。
- 速度上的指標(biāo)要在毫秒級(jí)完成十性,頁面內(nèi)跳轉(zhuǎn)需要考慮半毫秒級(jí)別。(要在網(wǎng)速允許的環(huán)境下塑悼,能在如此的速度上反應(yīng))
- 穩(wěn)定性需要考慮應(yīng)用的特點(diǎn)劲适,例如是否存在:用戶量大、流量大拢肆、并發(fā)高减响、海量數(shù)據(jù)、不安全性郭怪、功能繁瑣支示、迭代速度等問題
② 如何滿足構(gòu)建目的
需要考慮衡量指標(biāo)
- 響應(yīng)時(shí)間
- 并發(fā)數(shù)
-- 并發(fā)連接數(shù):客戶端向服務(wù)器發(fā)起請(qǐng)求,單位時(shí)間內(nèi)能建立的TCP連接數(shù)量
-- 請(qǐng)求數(shù):請(qǐng)求數(shù)≥連接數(shù)(考慮單連接能否復(fù)用)
-- 連接數(shù):?jiǎn)挝粫r(shí)間內(nèi)鄙才,能建立多少用戶連接 - 吞吐量
-- QPS:每秒的查詢數(shù)量
-- TPS: 每秒的事務(wù)數(shù)量 - 高性能:提供高速的響應(yīng)能力
- 高可用:網(wǎng)站可一直正常訪問
- 可伸縮:通過硬件的伸縮控制性能
- 可擴(kuò)展:系統(tǒng)應(yīng)用間耦合度低颂鸿,可拆解
- 安全性:保證能抵御一定的攻擊
- 敏捷性:可快速迭代
2、集群和分布式
- 集群:一群人干一件事:一個(gè)業(yè)務(wù)模塊部署在多個(gè)機(jī)器上
- 分布式:不同人干不同的事:一個(gè)業(yè)務(wù)拆分成不同模塊攒庵,部署在多個(gè)機(jī)器上
集群好比施工隊(duì)中的一群指定職位的人嘴纺,好比打磚群體、水泥匠等浓冒;分布式就相當(dāng)于施工團(tuán)隊(duì)栽渴,有一群不同的人,干不一樣的事情稳懒,但是都在進(jìn)行蓋樓闲擦。(一個(gè)模糊的比喻)
二、架構(gòu)的演變
該處先不做過多的討論场梆,僅作為扼要的說明墅冷。