寫(xiě)在前面的話
Stay Hungry Stay Foolish?。。?br> 每天進(jìn)步一點(diǎn)點(diǎn)!?。?/p>
《每日一讀》是博主每日學(xué)習(xí)的一篇文章所記錄的筆記,大多數(shù)是提取文章中關(guān)鍵內(nèi)容而成;文章類(lèi)型不限,內(nèi)容不限。
意義:培養(yǎng)自己的閱讀能力,學(xué)習(xí)更多的知識(shí)
鄭重聲明:如果涉及到文章侵權(quán)深感抱歉,請(qǐng)及時(shí)聯(lián)系我我會(huì)第一時(shí)間刪除,謝謝??!
總結(jié)
細(xì)細(xì)體會(huì)服務(wù)架構(gòu)演進(jìn)的步驟來(lái)看,無(wú)非是在不斷的解決新的問(wèn)題而產(chǎn)生新的架構(gòu),這就好似在這條路上不斷循環(huán)
- 確定新的問(wèn)題域
- 抽象新的問(wèn)題域,產(chǎn)生新解決方案
- 出現(xiàn)新的問(wèn)題域
微服務(wù)架構(gòu)不是這條路上的終點(diǎn),這就好比現(xiàn)在又早就出現(xiàn)的云原生、Serverless、ServiceMesh、PAAS、SAAS等,當(dāng)然這些出現(xiàn)的新的解決方案也都是終點(diǎn);
在未知的道路上很崎嶇,但是卻永遠(yuǎn)都不會(huì)有終點(diǎn)的那一天,我們要不斷的探索未知,解決未知。
正文
關(guān)鍵字
- 前后端分離
- 分布式
- 微服務(wù)
- DDD(領(lǐng)域驅(qū)動(dòng)設(shè)計(jì))
演變路徑
- 單體應(yīng)用:數(shù)據(jù)庫(kù)、服務(wù)部署在同一臺(tái)機(jī)器上
- 單數(shù)據(jù)庫(kù)多應(yīng)用架構(gòu)
- 讀寫(xiě)分離數(shù)據(jù)庫(kù)架構(gòu) + 緩存(CDN、Redis)
- 使用消息隊(duì)列的架構(gòu)
- 面向服務(wù)的架構(gòu)(SOA)
- 微服務(wù)架構(gòu):API-Gateway、服務(wù)發(fā)現(xiàn)、熔斷機(jī)制、服務(wù)部署
演進(jìn)
1)單體應(yīng)用 -> 單數(shù)據(jù)庫(kù)多應(yīng)用架構(gòu)
原因:用戶(hù)增加、業(yè)務(wù)變得復(fù)雜、系統(tǒng)響應(yīng)速度變慢
方案:水平擴(kuò)容

2)單數(shù)據(jù)庫(kù)多應(yīng)用架構(gòu) -> 讀寫(xiě)分離數(shù)據(jù)庫(kù)架構(gòu)
原因:系統(tǒng)業(yè)務(wù)功能增加,數(shù)據(jù)庫(kù)查詢(xún)成為瓶頸,查詢(xún)時(shí)間慢,整體響應(yīng)變慢
方案:主從分離,CDN及業(yè)務(wù)緩存(Redis)

3)讀寫(xiě)分離數(shù)據(jù)庫(kù)架構(gòu) -> 消息隊(duì)列架構(gòu)
原因:存在耗費(fèi)大量服務(wù)器資源及耗時(shí)較長(zhǎng)的業(yè)務(wù);流量瞬增場(chǎng)景
方案:消息隊(duì)列

4)消息隊(duì)列架構(gòu) -> 面向服務(wù)架構(gòu)(SOA)
原因:系統(tǒng)復(fù)雜度增加、參與開(kāi)發(fā)者變多
方案:?jiǎn)畏?wù)拆分為多個(gè)服務(wù)
典型案例:SSO單點(diǎn)登錄

5)面向服務(wù)架構(gòu)(SOA) -> 微服務(wù)架構(gòu)
原因:系統(tǒng)復(fù)雜度增加,不同應(yīng)用和數(shù)據(jù)之間互相依賴(lài),邏輯糾纏不清,項(xiàng)目的部署進(jìn)入了混沌狀態(tài)
方案:微服務(wù),解耦;將不同職責(zé)的服務(wù)獨(dú)立部署,從而實(shí)現(xiàn)服務(wù)內(nèi)部高內(nèi)聚,服務(wù)之間低耦合的效果,讓開(kāi)發(fā)變得更為靈活!

摘錄
架構(gòu)也很難一開(kāi)始就設(shè)計(jì)的完美,架構(gòu)不是設(shè)計(jì)出來(lái)的,甚至不能被設(shè)計(jì),只能在需求的變化中不斷演進(jìn)。架構(gòu)師的工作不太像建筑師那樣構(gòu)建大的藍(lán)圖,更像藥劑師那樣對(duì)癥治病、照方抓藥。就像《大教堂與集市》說(shuō)的那樣,“軟件很大程度上是一個(gè)服務(wù)行業(yè),雖然長(zhǎng)期以來(lái)都毫無(wú)根據(jù)地被錯(cuò)認(rèn)為是制造行業(yè)?!?/p>
就像生命在自然環(huán)境中不斷適應(yīng),才得以演化;我們的架構(gòu)需要根據(jù)需求中不斷改進(jìn),才得以敏捷。