個(gè)人專題目錄
一绪撵、基礎(chǔ)知識(shí)
1. 分布式基礎(chǔ)理論
什么是分布式系統(tǒng)?
《分布式系統(tǒng)原理與范型》定義:
“分布式系統(tǒng)是若干獨(dú)立計(jì)算機(jī)的集合墩莫,這些計(jì)算機(jī)對(duì)于用戶來(lái)說(shuō)就像單個(gè)相關(guān)系統(tǒng)”
分布式系統(tǒng)(distributed system)是建立在網(wǎng)絡(luò)之上的軟件系統(tǒng)。
隨著互聯(lián)網(wǎng)的發(fā)展逞敷,網(wǎng)站應(yīng)用的規(guī)模不斷擴(kuò)大狂秦,常規(guī)的垂直應(yīng)用架構(gòu)已無(wú)法應(yīng)對(duì),分布式服務(wù)架構(gòu)以及流動(dòng)計(jì)算架構(gòu)勢(shì)在必行推捐,亟需一個(gè)治理系統(tǒng)確保架構(gòu)有條不紊的演進(jìn)裂问。
發(fā)展演變
單一應(yīng)用架構(gòu)
當(dāng)網(wǎng)站流量很小時(shí),只需一個(gè)應(yīng)用牛柒,將所有功能都部署在一起堪簿,以減少部署節(jié)點(diǎn)和成本。此時(shí)皮壁,用于簡(jiǎn)化增刪改查工作量的數(shù)據(jù)訪問(wèn)框架(ORM)是關(guān)鍵椭更。
適用于小型網(wǎng)站,小型管理系統(tǒng)蛾魄,將所有功能都部署到一個(gè)功能里虑瀑,簡(jiǎn)單易用。
缺點(diǎn):
1滴须、性能擴(kuò)展比較難*
2舌狗、協(xié)同開發(fā)問(wèn)題
3、不利于升級(jí)維護(hù)*
垂直應(yīng)用架構(gòu)
當(dāng)訪問(wèn)量逐漸增大扔水,單一應(yīng)用增加機(jī)器帶來(lái)的加速度越來(lái)越小痛侍,將應(yīng)用拆成互不相干的幾個(gè)應(yīng)用,以提升效率铭污。此時(shí)恋日,用于加速前端頁(yè)面開發(fā)的Web框架(MVC)是關(guān)鍵。
通過(guò)切分業(yè)務(wù)來(lái)實(shí)現(xiàn)各個(gè)模塊獨(dú)立部署嘹狞,降低了維護(hù)和部署的難度岂膳,團(tuán)隊(duì)各司其職更易管理,性能擴(kuò)展也更方便磅网,更有針對(duì)性谈截。
缺點(diǎn): 公用模塊無(wú)法重復(fù)利用,開發(fā)性的浪費(fèi)
分布式服務(wù)架構(gòu)
當(dāng)垂直應(yīng)用越來(lái)越多,應(yīng)用之間交互不可避免簸喂,將核心業(yè)務(wù)抽取出來(lái)毙死,作為獨(dú)立的服務(wù),逐漸形成穩(wěn)定的服務(wù)中心喻鳄,使前端應(yīng)用能更快速的響應(yīng)多變的市場(chǎng)需求扼倘。此時(shí),用于提高業(yè)務(wù)復(fù)用及整合的分布式服務(wù)框架****(RPC)是關(guān)鍵除呵。
流動(dòng)計(jì)算架構(gòu)
當(dāng)服務(wù)越來(lái)越多再菊,容量的評(píng)估,小服務(wù)資源的浪費(fèi)等問(wèn)題逐漸顯現(xiàn)颜曾,此時(shí)需增加一個(gè)調(diào)度中心基于訪問(wèn)壓力實(shí)時(shí)管理集群容量纠拔,提高集群利用率。此時(shí)泛豪,用于提高機(jī)器利用率的資源調(diào)度和治理中心****(SOA)[ Service Oriented Architecture]是關(guān)鍵**稠诲。
RPC
什么叫RPC
RPC【Remote Procedure Call】是指遠(yuǎn)程過(guò)程調(diào)用,是一種進(jìn)程間通信方式诡曙,他是一種技術(shù)的思想臀叙,而不是規(guī)范。它允許程序調(diào)用另一個(gè)地址空間(通常是共享網(wǎng)絡(luò)的另一臺(tái)機(jī)器上)的過(guò)程或函數(shù)岗仑,而不用程序員顯式編碼這個(gè)遠(yuǎn)程調(diào)用的細(xì)節(jié)匹耕。即程序員無(wú)論是調(diào)用本地的還是遠(yuǎn)程的函數(shù),本質(zhì)上編寫的調(diào)用代碼基本相同荠雕。