可擴(kuò)展架構(gòu)的方法論——AKF擴(kuò)展立方體

AKF擴(kuò)展立方體(Scalability Cube)芒篷,是《架構(gòu)即未來》一書中提出的可擴(kuò)展模型都许,這個立方體有三個軸線,每個軸線描述擴(kuò)展性的一個維度,他們分別是產(chǎn)品拢军、流程和團(tuán)隊:

X軸 —— 代表無差別的克隆服務(wù)和數(shù)據(jù)往声,工作可以很均勻的分散在不同的服務(wù)實例上柠座;

Y軸 —— 關(guān)注應(yīng)用中職責(zé)的劃分铅祸,比如數(shù)據(jù)類型,交易執(zhí)行類型的劃分硬梁;

Z軸 —— 關(guān)注服務(wù)和數(shù)據(jù)的優(yōu)先級劃分前硫,如分地域劃分。

AKF擴(kuò)展立方體


三個維度擴(kuò)展的對比

通過這三個維度上的擴(kuò)展荧止,可以快速提高產(chǎn)品的擴(kuò)展能力屹电,適應(yīng)不同場景下產(chǎn)品的快速增長。不同維度上的擴(kuò)展跃巡,有著不同的優(yōu)缺點:

1.X軸擴(kuò)展

優(yōu)點:成本最低危号,實施簡單;

缺點:受指令集多少和數(shù)據(jù)集大小的約束瓷炮。當(dāng)單個產(chǎn)品或應(yīng)用過大時葱色,服務(wù)響應(yīng)變慢,無法通過X軸的水平擴(kuò)展提高速度娘香;

場景:發(fā)展初期苍狰,業(yè)務(wù)復(fù)雜度低,需要增加系統(tǒng)容量烘绽。

2.Y軸擴(kuò)展

優(yōu)點:可以解決指令集和數(shù)據(jù)集的約束淋昭,解決代碼復(fù)雜度問題,可以實現(xiàn)隔離故障安接,可以提高響應(yīng)時間翔忽,可以使團(tuán)隊聚焦更利于團(tuán)隊成長;

缺點:成本相對較高盏檐;

場景:業(yè)務(wù)復(fù)雜歇式,數(shù)據(jù)量大,代碼耦合度高胡野,團(tuán)隊規(guī)模大材失。

3.Z軸擴(kuò)展

優(yōu)點:能解決數(shù)據(jù)集的約束,降低故障風(fēng)險硫豆,實現(xiàn)漸進(jìn)交付龙巨,可以帶來最大的擴(kuò)展性笼呆。

缺點:成本最昂貴,且不一定能解決指令集的問題旨别;

場景:用戶指數(shù)級快速增長诗赌。


如何將理論付諸實踐?

1.為擴(kuò)展分割應(yīng)用

X軸:從單體系統(tǒng)或服務(wù)秸弛,水平克隆出許多系統(tǒng)铭若,通過負(fù)載均衡平均分配請求;

Y軸 :面向服務(wù)分割胆屿,基于功能或者服務(wù)分割奥喻,例如電商網(wǎng)站可以將登陸偶宫、搜索非迹、下單等服務(wù)進(jìn)行Y軸的拆分,每一組服務(wù)再進(jìn)行X軸的擴(kuò)展纯趋;

Z軸 :面向查找分割憎兽,基于用戶、請求或者數(shù)據(jù)分割吵冒,例如可以將不同產(chǎn)品的SKU分到不同的搜索服務(wù)纯命,可以將用戶哈希到不同的服務(wù)等。

2.為擴(kuò)展分割數(shù)據(jù)庫?

X軸:從單庫痹栖,水平克隆為多個庫上讀亿汞,一個庫寫,通過數(shù)據(jù)庫的自我復(fù)制實現(xiàn)揪阿,要允許一定的讀寫時延疗我;

Y軸 :根據(jù)不同的信息類型,分割為不同的數(shù)據(jù)庫南捂,即分庫吴裤,例如產(chǎn)品庫,用戶庫等溺健;

Z軸 :按照一定算法麦牺,進(jìn)行分片,例如將搜索按照MapReduce的原理進(jìn)行分片鞭缭,把SKU的數(shù)據(jù)按照不同的哈希值進(jìn)行分片存儲剖膳,每個分片再進(jìn)行X軸冗余。

3.為擴(kuò)展而緩存

在理想情況下岭辣,處理大流量最好的方法是通過高速緩存來避免處理它吱晒。從架構(gòu)層面看,我們能控制的主要有以下三個層次的緩存:

對象緩存:對象緩存用來存儲應(yīng)用的對象以供重復(fù)使用易结,一般在系統(tǒng)內(nèi)部枕荞,通過使用應(yīng)用緩存可以幫助數(shù)據(jù)庫和應(yīng)用層卸載負(fù)載柜候。

應(yīng)用緩存:應(yīng)用緩存包括代理緩存和反向代理緩存,一個在用戶端躏精,一個在服務(wù)端渣刷,目標(biāo)是提高性能或減少資源的使用量。

內(nèi)容交付網(wǎng)絡(luò)緩存:CDN的總原則是將內(nèi)容推送到盡可能接近用戶終端的地方矗烛,通過不同地區(qū)使用不同ISP的網(wǎng)關(guān)緩存辅柴,達(dá)到更快的響應(yīng)時間和對源服務(wù)的更少請求。

4.位擴(kuò)展而異步

同步改異步:同步調(diào)用瞭吃,由于調(diào)用間的同步依賴關(guān)系碌嘀,有可能會導(dǎo)致雪崩效應(yīng),出現(xiàn)一系列的連鎖故障歪架,進(jìn)而導(dǎo)致整個系統(tǒng)出現(xiàn)問題股冗,所以在進(jìn)行系統(tǒng)設(shè)計時,要盡可能的考慮異步調(diào)用方式和蚪,郵件系統(tǒng)就是一個非常好的異步調(diào)用例子止状。

應(yīng)用無狀態(tài):當(dāng)進(jìn)行AKF擴(kuò)展立方體的任何一個軸上的擴(kuò)展時,都要首先解決應(yīng)用的狀態(tài)問題攒霹,即會話的管理怯疤,可以通過避免、集中和分散的方式進(jìn)行解決催束。


AKF擴(kuò)展立方體是一套通用的擴(kuò)展性理論集峦,它不僅可以應(yīng)用到系統(tǒng)的架構(gòu)擴(kuò)展上,也可以應(yīng)用到人員的組織架構(gòu)擴(kuò)展上甚至其他相關(guān)的工業(yè)領(lǐng)域抠刺。

當(dāng)然并不是所有公司都需要同時在XYZ三個方向上進(jìn)行擴(kuò)展塔淤,并且每個方向上的擴(kuò)展都有它的利弊,我們不可避免的要進(jìn)行適當(dāng)?shù)臋?quán)衡矫付。最重要的凯沪,我們應(yīng)當(dāng)首先理解這套理論背后所體現(xiàn)出來的擴(kuò)展哲學(xué)。

就像書里所描述的买优,這不僅涉及到科學(xué)妨马,還涉及到藝術(shù)!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末杀赢,一起剝皮案震驚了整個濱河市烘跺,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌脂崔,老刑警劉巖滤淳,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異砌左,居然都是意外死亡脖咐,警方通過查閱死者的電腦和手機(jī)铺敌,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來屁擅,“玉大人偿凭,你說我怎么就攤上這事∨筛瑁” “怎么了弯囊?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長胶果。 經(jīng)常有香客問我匾嘱,道長,這世上最難降的妖魔是什么早抠? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任霎烙,我火速辦了婚禮,結(jié)果婚禮上贝或,老公的妹妹穿的比我還像新娘吼过。我一直安慰自己,他們只是感情好咪奖,可當(dāng)我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著酱床,像睡著了一般羊赵。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上扇谣,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天昧捷,我揣著相機(jī)與錄音,去河邊找鬼罐寨。 笑死靡挥,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的鸯绿。 我是一名探鬼主播跋破,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼瓶蝴!你這毒婦竟也來了毒返?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤舷手,失蹤者是張志新(化名)和其女友劉穎拧簸,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體男窟,經(jīng)...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡盆赤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年贾富,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片牺六。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡祷安,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出兔乞,到底是詐尸還是另有隱情汇鞭,我是刑警寧澤,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布庸追,位于F島的核電站霍骄,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏淡溯。R本人自食惡果不足惜读整,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望咱娶。 院中可真熱鬧米间,春花似錦、人聲如沸膘侮。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽琼了。三九已至逻锐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雕薪,已是汗流浹背昧诱。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留所袁,地道東北人盏档。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓,卻偏偏與公主長得像燥爷,于是被迫代替她去往敵國和親蜈亩。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內(nèi)容