每日一讀-從單體到微服務(wù),這些年架構(gòu)的演變

寫(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)

  1. 確定新的問(wèn)題域
  2. 抽象新的問(wèn)題域,產(chǎn)生新解決方案
  3. 出現(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ì))

演變路徑

  1. 單體應(yīng)用:數(shù)據(jù)庫(kù)、服務(wù)部署在同一臺(tái)機(jī)器上
  2. 單數(shù)據(jù)庫(kù)多應(yīng)用架構(gòu)
  3. 讀寫(xiě)分離數(shù)據(jù)庫(kù)架構(gòu) + 緩存(CDN、Redis)
  4. 使用消息隊(duì)列的架構(gòu)
  5. 面向服務(wù)的架構(gòu)(SOA)
  6. 微服務(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),才得以敏捷。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近因業(yè)務(wù)需要,小拾君深入學(xué)習(xí)了一下微服務(wù)架構(gòu)相關(guān)的技術(shù),跟大家分享一下。本文并不會(huì)涉及太多晦澀難懂的技術(shù)術(shù)語(yǔ)以及...
    每日一拾閱讀 7,640評(píng)論 0 28
  • 沒(méi)有反思的人生不值得過(guò)-蘇格拉底 我為什么用這句名言開(kāi)頭,開(kāi)始是覺(jué)得大家都用這句開(kāi)頭,所以呢我也用,用了之后覺(jué)得該...
    Lucky有情閱讀 218評(píng)論 0 0
  • 沐手夜燃香,清煙裊且長(zhǎng)。 樽前客病酒,簾外月如霜。 舉頭望河漢,負(fù)手立中窗。 無(wú)人憐寂寞,我與影成雙。
    花醉客閱讀 476評(píng)論 6 7

友情鏈接更多精彩內(nèi)容