發(fā)布時(shí)間:2023-03-15 17:01:13
引子
最近學(xué)習(xí)了李運(yùn)華老師在極客時(shí)間的《從0開始學(xué)架構(gòu)》文章,為了理解深刻便于復(fù)習(xí)思考整理了思維導(dǎo)圖筆記,大家可以參考學(xué)習(xí)。
前一篇文章《從0開始學(xué)架構(gòu),你也可以成為架構(gòu)師!》主要描述架構(gòu)的基本概念,本文主要介紹架構(gòu)的基本原則,并通過實(shí)例介紹每個(gè)產(chǎn)品在不同階段對(duì)架構(gòu)原則的取舍。(其他章節(jié)的筆記后續(xù)再繼續(xù)整理)
前言
相比編程來說,架構(gòu)設(shè)計(jì)并沒有像編程語言那樣的語法來進(jìn)行約束,更多的時(shí)候是面對(duì)多種可能性時(shí)進(jìn)行選擇??墒且坏┥婕啊斑x擇”,就很容易讓架構(gòu)師陷入兩難的境地。關(guān)鍵原因在于架構(gòu)設(shè)計(jì)領(lǐng)域并沒有一套通用的規(guī)范來指導(dǎo)架構(gòu)師進(jìn)行架構(gòu)設(shè)計(jì),更多是依賴架構(gòu)師的經(jīng)驗(yàn)和直覺。
業(yè)務(wù)千變?nèi)f化,技術(shù)層出不窮,設(shè)計(jì)理念也是百花齊放,看起來似乎很難有一套通用的規(guī)范來適用所有的架構(gòu)設(shè)計(jì)場(chǎng)景。但是卻有幾個(gè)共性的原則隱含其中,架構(gòu)設(shè)計(jì)時(shí)遵循這幾個(gè)原則,有助于做出最好的選擇。
架構(gòu)設(shè)計(jì)原則
成為架構(gòu)師是每個(gè)程序員的夢(mèng)想,但并不意味著把編程做好就能夠自然而然地成為一個(gè)架構(gòu)師,優(yōu)秀程序員和架構(gòu)師之間還有一個(gè)明顯的鴻溝需要跨越,這個(gè)鴻溝就是“不確定性”。
合適原則:
“合適優(yōu)于業(yè)界領(lǐng)先”
簡單原則:
“簡單優(yōu)于復(fù)雜”
演化原則:
“演化優(yōu)于一步到位”
案例
在架構(gòu)設(shè)計(jì)實(shí)踐中,應(yīng)該時(shí)刻謹(jǐn)記這三條設(shè)計(jì)原則(合適原則、簡單原則和演化原則),指導(dǎo)我們?cè)O(shè)計(jì)出合適的架構(gòu)。
淘寶
淘寶技術(shù)發(fā)展主要經(jīng)歷了“個(gè)人網(wǎng)站”→“Oracle/ 支付寶 / 旺旺”→“Java 時(shí)代 1.0”→“Java 時(shí)代 2.0”→“Java 時(shí)代 3.0”→“分布式時(shí)代”。
手機(jī)QQ
手機(jī) QQ 的發(fā)展歷程按照用戶規(guī)??梢源致詣澐譃?4 個(gè)階段:十萬級(jí)、百萬級(jí)、千萬級(jí)、億級(jí),不同的用戶規(guī)模,IM 后臺(tái)的架構(gòu)也不同,而且基本上都是用戶規(guī)模先上去,然后產(chǎn)生各種問題,倒逼技術(shù)架構(gòu)升級(jí)。
總結(jié)
通過案例可以看出,即使是現(xiàn)在非常復(fù)雜、非常強(qiáng)大的架構(gòu),也并不是一開始就進(jìn)行了復(fù)雜設(shè)計(jì),而是首先采取了簡單的方式(簡單原則),滿足了當(dāng)時(shí)的業(yè)務(wù)需要(合適原則),隨著業(yè)務(wù)的發(fā)展逐步演化而來的(演化原則)。羅馬不是一天建成的,架構(gòu)也不是一開始就設(shè)計(jì)成完美的樣子,然后可以一勞永逸一直用下去。
今天的分享就到這里了,想了解更多關(guān)于武漢淘寶代運(yùn)營公司、淘寶代運(yùn)營公司排名等內(nèi)容,敬請(qǐng)關(guān)注火蝠電商官網(wǎng)。
本站部分文章及圖片來自互聯(lián)網(wǎng)及其他公眾平臺(tái),版權(quán)歸原作者,如有侵權(quán)請(qǐng)聯(lián)系qq:1248031689,我們會(huì)在第一時(shí)間刪除!
國家工信部備案/許可證號(hào):鄂ICP備15020535號(hào)-4 版權(quán)所有:武漢火蝠電子商務(wù)有限公司 網(wǎng)站地圖