91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何分析單體架構與微服務架構

發布時間:2022-01-14 21:28:52 來源:億速云 閱讀:173 作者:柒染 欄目:大數據

這篇文章將為大家詳細講解有關如何分析單體架構與微服務架構,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

【單體架構】

 

    1. 什么是單體架構

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

    2. 單體架構示例圖

如何分析單體架構與微服務架構

 

    3. 單體架構的缺陷

 
        - 復雜性高。整個項目包含的模塊非常多,模塊的邊界模糊,依賴關系不清晰,代碼質量參差不齊……整個項目非常復雜。每次修改代碼都心驚膽戰,甚至添加一個簡單的功能,或者修改一個BUG都會造成隱含的缺陷。
 
        - 技術債務。隨著時間推移、需求變更和人員更迭,會逐漸形成應用程序的技術債務,并且越積越多。已使用的系統設計或代碼難以修改,因為應用程序的其他模塊可能會以意料之外的方式使用它。
 
        - 部署頻率低。隨著代碼的增加,構建和部署的時間也會增加。而在單體應用中,每次功能的變更或缺陷的修復都會導致我們需要重新部署整個應用。全量部署的方式耗時長、影響范圍大、風險高,這使得單體應用項目上線部署的頻率較低,從而又導致兩次發布之間會有大量功能變更和缺陷修復,出錯概率較高。
 
        - 擴展能力受限。單體應用只能作為一個整體進行擴展,無法結合業務模塊的特點進行伸縮。
 
        - 阻礙技術創新。單體應用往往使用統一的技術平臺或方案解決所有問題,團隊的每個成員都必須使用相同的開發語言和架構,想要引入新的框架或技術平臺非常困難。
 
    由于單體架構的缺陷日益明顯,所以越來越多的公司采用微服務架構范式解決上面提到的單體架構中的問題。
 
    不同于構建單一、龐大的應用,微服務架構將應用拆分為一套小且互相關聯的服務。
 

【微服務架構】

 

    1. 什么是微服務架構

 
        簡而言之,微服務架構風格的開發方法,是以開發一組小型服務的方式來開發一個獨立的應用系統的。其中每個小型服務都運行在自己的進程中,并經常采用HTTP資源API輕量的機制來相互通信。
 
        這些服務圍繞業務功能進行構建,并能通過全自動的部署機制來進行獨立部署。這些微服務可以使用不同的語言來編寫,并且可以使用不同的數據存儲技術。對這些微服務我們僅做最低限度的集中管理。
 

    2. 微服務架構示例圖

如何分析單體架構與微服務架構

 

    3. 微服務架構的特性

 
        - 每個微服務可獨立運行在自己的進程里;
 
        - 一系列獨立運行的微服務共同構建起整個系統;
 
        - 每個服務為獨立的業務開發,一個微服務只關注某個特定的功能,如訂單管理、用戶管理等;
 
        - 微服務之間通過一些輕量的通信機制進行通信,如REST API進行調用;
 
        - 可以使用不同的語言與存儲技術;
 
        - 全自動的部署機制;
 

    4. 微服務架構的優勢

 
        - 易于開發和維護。一個微服務只關注一個特定的業務功能,所以它的業務清晰、代碼量較少。開發和維護單個微服務相對比較簡單,整個應用是由若干個微服務構建而成,所以整個應用也會維持在可控狀態;
 
        - 單個微服務啟動較快。單個微服務代碼量較少,所以啟動會比較快;
 
        - 局部修改容易部署。單體應用只要有修改,就要重新部署整個應用,微服務解決了這樣的問題。一般來說,對某個微服務進行修改,只需要重新部署這個服務即可;
 
        - 技術棧不受限。在微服務中,我們可以結合項目業務及團隊的特點,合理地選擇技術棧;
 

    5. 微服務架構的挑戰

 
        - 運維要求較高。更多的服務意味著更多的運維投入。在單體架構中只需要保證一個應用的正常運行;而在微服務中,需要保證幾十甚至幾百個服務的正常運行與協作,帶來了巨大的挑戰;
 
        - 分布式固有的復雜性。使用微服務構建的是分布式系統。對于一個分布式系統,系統容錯、網絡延遲、分布式事務等都帶來了巨大的挑戰;
 
        - 接口調整成本高。微服務之間通過接口進行通信。如果修改某個微服務的API,可能所有使用了該接口的微服務都需要做調整;
 
        - 重復勞動。很多服務可能都會使用到相同的功能。而這個功能并沒有達到分解為一個微服務的程度,這個時候,可能各個服務都會開發這一功能,導致代碼重復。
    

關于如何分析單體架構與微服務架構就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通山县| 罗田县| 开封县| 丹凤县| 吐鲁番市| 特克斯县| 泸水县| 句容市| 徐水县| 青田县| 渝北区| 建昌县| 鹤壁市| 工布江达县| 张家口市| 时尚| 汕尾市| 泗水县| 枞阳县| 邓州市| 长海县| 舒城县| 潜山县| 苍梧县| 四川省| 奉节县| 固镇县| 砚山县| 施甸县| 广州市| 宝应县| 铁力市| 元江| 庄浪县| 南岸区| 瑞昌市| 睢宁县| 漾濞| 日照市| 汉阴县| 辽中县|