一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

單體架構(gòu)與微服務(wù)架構(gòu)

 _明心見性_ 2023-02-08 發(fā)布于海南

【單體架構(gòu)】

1. 什么是單體架構(gòu)

一個歸檔包(例如war格式)包含了應(yīng)用所有功能的應(yīng)用程序,我們通常稱之為單體應(yīng)用。架構(gòu)單體應(yīng)用的方法論,我們稱之為單體應(yīng)用架構(gòu)。

2. 單體架構(gòu)示例圖

3. 單體架構(gòu)的缺陷

- 復(fù)雜性高。整個項目包含的模塊非常多,模塊的邊界模糊,依賴關(guān)系不清晰,代碼質(zhì)量參差不齊……整個項目非常復(fù)雜。每次修改代碼都心驚膽戰(zhàn),甚至添加一個簡單的功能,或者修改一個BUG都會造成隱含的缺陷。

- 技術(shù)債務(wù)。隨著時間推移、需求變更和人員更迭,會逐漸形成應(yīng)用程序的技術(shù)債務(wù),并且越積越多。已使用的系統(tǒng)設(shè)計或代碼難以修改,因為應(yīng)用程序的其他模塊可能會以意料之外的方式使用它。

- 部署頻率低。隨著代碼的增加,構(gòu)建和部署的時間也會增加。而在單體應(yīng)用中,每次功能的變更或缺陷的修復(fù)都會導(dǎo)致我們需要重新部署整個應(yīng)用。全量部署的方式耗時長、影響范圍大、風(fēng)險高,這使得單體應(yīng)用項目上線部署的頻率較低,從而又導(dǎo)致兩次發(fā)布之間會有大量功能變更和缺陷修復(fù),出錯概率較高。

- 擴展能力受限。單體應(yīng)用只能作為一個整體進行擴展,無法結(jié)合業(yè)務(wù)模塊的特點進行伸縮。

- 阻礙技術(shù)創(chuàng)新。單體應(yīng)用往往使用統(tǒng)一的技術(shù)平臺或方案解決所有問題,團隊的每個成員都必須使用相同的開發(fā)語言和架構(gòu),想要引入新的框架或技術(shù)平臺非常困難。

由于單體架構(gòu)的缺陷日益明顯,所以越來越多的公司采用微服務(wù)架構(gòu)范式解決上面提到的單體架構(gòu)中的問題。

不同于構(gòu)建單一、龐大的應(yīng)用,微服務(wù)架構(gòu)將應(yīng)用拆分為一套小且互相關(guān)聯(lián)的服務(wù)。

【微服務(wù)架構(gòu)】

1. 什么是微服務(wù)架構(gòu)

簡而言之,微服務(wù)架構(gòu)風(fēng)格的開發(fā)方法,是以開發(fā)一組小型服務(wù)的方式來開發(fā)一個獨立的應(yīng)用系統(tǒng)的。其中每個小型服務(wù)都運行在自己的進程中,并經(jīng)常采用HTTP資源API輕量的機制來相互通信。

這些服務(wù)圍繞業(yè)務(wù)功能進行構(gòu)建,并能通過全自動的部署機制來進行獨立部署。這些微服務(wù)可以使用不同的語言來編寫,并且可以使用不同的數(shù)據(jù)存儲技術(shù)。對這些微服務(wù)我們僅做最低限度的集中管理。

2. 微服務(wù)架構(gòu)示例圖

3. 微服務(wù)架構(gòu)的特性

- 每個微服務(wù)可獨立運行在自己的進程里;

- 一系列獨立運行的微服務(wù)共同構(gòu)建起整個系統(tǒng);

- 每個服務(wù)為獨立的業(yè)務(wù)開發(fā),一個微服務(wù)只關(guān)注某個特定的功能,如訂單管理、用戶管理等;

- 微服務(wù)之間通過一些輕量的通信機制進行通信,如REST API進行調(diào)用;

- 可以使用不同的語言與存儲技術(shù);

- 全自動的部署機制;

4. 微服務(wù)架構(gòu)的優(yōu)勢

- 易于開發(fā)和維護。一個微服務(wù)只關(guān)注一個特定的業(yè)務(wù)功能,所以它的業(yè)務(wù)清晰、代碼量較少。開發(fā)和維護單個微服務(wù)相對比較簡單,整個應(yīng)用是由若干個微服務(wù)構(gòu)建而成,所以整個應(yīng)用也會維持在可控狀態(tài);

- 單個微服務(wù)啟動較快。單個微服務(wù)代碼量較少,所以啟動會比較快;

- 局部修改容易部署。單體應(yīng)用只要有修改,就要重新部署整個應(yīng)用,微服務(wù)解決了這樣的問題。一般來說,對某個微服務(wù)進行修改,只需要重新部署這個服務(wù)即可;

- 技術(shù)棧不受限。在微服務(wù)中,我們可以結(jié)合項目業(yè)務(wù)及團隊的特點,合理地選擇技術(shù)棧;

5. 微服務(wù)架構(gòu)的挑戰(zhàn)

- 運維要求較高。更多的服務(wù)意味著更多的運維投入。在單體架構(gòu)中只需要保證一個應(yīng)用的正常運行;而在微服務(wù)中,需要保證幾十甚至幾百個服務(wù)的正常運行與協(xié)作,帶來了巨大的挑戰(zhàn);

- 分布式固有的復(fù)雜性。使用微服務(wù)構(gòu)建的是分布式系統(tǒng)。對于一個分布式系統(tǒng),系統(tǒng)容錯、網(wǎng)絡(luò)延遲、分布式事務(wù)等都帶來了巨大的挑戰(zhàn);

- 接口調(diào)整成本高。微服務(wù)之間通過接口進行通信。如果修改某個微服務(wù)的API,可能所有使用了該接口的微服務(wù)都需要做調(diào)整;

- 重復(fù)勞動。很多服務(wù)可能都會使用到相同的功能。而這個功能并沒有達到分解為一個微服務(wù)的程度,這個時候,可能各個服務(wù)都會開發(fā)這一功能,導(dǎo)致代碼重復(fù)。

【總結(jié)】

構(gòu)建復(fù)雜的應(yīng)用的確非常困難。單體式的架構(gòu)更適合輕量級的簡單應(yīng)用。如果你用它來開發(fā)復(fù)雜應(yīng)用,那真的會很糟糕。微服務(wù)架構(gòu)模式可以用來構(gòu)建復(fù)雜應(yīng)用,當(dāng)然,這種架構(gòu)模型也有自己的缺點和挑戰(zhàn)。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    熟女少妇久久一区二区三区| 欧美黑人在线一区二区| 日本三区不卡高清更新二区| 国产又色又爽又黄的精品视频 | 中文字幕亚洲精品在线播放| 午夜视频成人在线观看| 好吊妞视频只有这里有精品| 日本午夜免费观看视频| 亚洲天堂一区在线播放| 欧美成人高清在线播放| 91久久精品中文内射| 日韩中文字幕人妻精品| 国产精品色热综合在线| 99久久国产精品成人观看| 国产av一区二区三区四区五区| 一区二区三区亚洲国产| 高潮少妇高潮久久精品99| 激情五月综五月综合网| 五月综合婷婷在线伊人| 男人操女人下面国产剧情| 麻豆精品在线一区二区三区| 亚洲精品蜜桃在线观看| 99久热只有精品视频免费看| 亚洲天堂久久精品成人| 九九视频通过这里有精品| 亚洲一区二区三区四区性色av| 香港国产三级久久精品三级| 97精品人妻一区二区三区麻豆| 超薄肉色丝袜脚一区二区| 亚洲熟女一区二区三四区| 美日韩一区二区精品系列| 国产无摭挡又爽又色又刺激| 亚洲夫妻性生活免费视频| 亚洲黄色在线观看免费高清| 亚洲第一区欧美日韩在线| 九九热国产这里只有精品| 欧美日韩一区二区午夜| 美女被后入福利在线观看| 国产户外勾引精品露出一区 | 狠色婷婷久久一区二区三区| 久久天堂夜夜一本婷婷|