您好,登錄后才能下訂單哦!
一、單體應用
1、概念
一個歸檔包包含了所有的功能的應用程序,這樣的應用系統被稱為“單體應用”。
2、優缺點
單體應用在開發出去具有易部署、易測試的優點,但隨著需求的不斷增多,代碼量的不斷上升,單體應用的缺點也隨著暴露出來:
(1)復雜性高:整個項目包含的模塊非常多,各個模塊之間的邊界模糊,依賴關系不清楚。新增功能或修改功能時很有可能帶來隱患;
(2)部署頻率低:修改一個模塊需要部署真個項目;
(3)可靠性差:其中一個模塊的bug例如死循環等導致整個項目的崩潰。
二、微服務
1、概念
微服務是一種架構風格,是一種將一個單一應用系統開發為一小組小型服務的方法,每一個服務都運行在自己的進程中,服務間采用輕量級通信機制(例如HTTP)。每個服務可以使用不同的開發語言,可以根據功能特點配置不同的硬件。
2、特點
(1)每個服務單獨運行在自己的進程中;
(2)一系列獨立的服務共同構建整個系統;
(3)每個服務業務獨立;
(4)服務之間通過輕量級通信機制進行通信;
(5)可以使用不同的開發語言和數據存儲結構。
以電影票業務為例,在單體應用中,一個大的系統中包含很多模塊,其中包括用戶模塊和電影模塊。在微服務架構中,將用戶模塊和電影模塊分別獨立成兩個服務:用戶服務和電影服務,當兩個服務之間需要通信時,可以通過HTTP協議進行數據交流。
3、缺點
微服務雖然講業務進行了拆分,使業務邏輯更加明確,但依然存在很多令人頭疼的缺點:
(1)分布式固有的復雜性:網絡延遲、系統容錯、分布式事務等問題;
(2)重復勞動:可能存在這種情況,多個功能都需要使用同一個功能,但該功能還沒有達到要分解成一個微服務的程度。
4、微服務設計原則
(1)單一職責:每個服務只負責單獨的功能;
(2)服務自治:與其他服務高度解耦;
(3)輕量級通信機制;
(4)微服務粒
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。