一、單體應用
成都創(chuàng)新互聯公司-專業(yè)網站定制、快速模板網站建設、高性價比軹城網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式軹城網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋軹城地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。
1、概念
一個歸檔包包含了所有的功能的應用程序,這樣的應用系統(tǒng)被稱為“單體應用”。
2、優(yōu)缺點
單體應用在開發(fā)出去具有易部署、易測試的優(yōu)點,但隨著需求的不斷增多,代碼量的不斷上升,單體應用的缺點也隨著暴露出來:
(1)復雜性高:整個項目包含的模塊非常多,各個模塊之間的邊界模糊,依賴關系不清楚。新增功能或修改功能時很有可能帶來隱患;
(2)部署頻率低:修改一個模塊需要部署真?zhèn)€項目;
(3)可靠性差:其中一個模塊的bug例如死循環(huán)等導致整個項目的崩潰。
二、微服務
1、概念
微服務是一種架構風格,是一種將一個單一應用系統(tǒng)開發(fā)為一小組小型服務的方法,每一個服務都運行在自己的進程中,服務間采用輕量級通信機制(例如HTTP)。每個服務可以使用不同的開發(fā)語言,可以根據功能特點配置不同的硬件。
2、特點
(1)每個服務單獨運行在自己的進程中;
(2)一系列獨立的服務共同構建整個系統(tǒng);
(3)每個服務業(yè)務獨立;
(4)服務之間通過輕量級通信機制進行通信;
(5)可以使用不同的開發(fā)語言和數據存儲結構。
以電影票業(yè)務為例,在單體應用中,一個大的系統(tǒng)中包含很多模塊,其中包括用戶模塊和電影模塊。在微服務架構中,將用戶模塊和電影模塊分別獨立成兩個服務:用戶服務和電影服務,當兩個服務之間需要通信時,可以通過HTTP協議進行數據交流。
3、缺點
微服務雖然講業(yè)務進行了拆分,使業(yè)務邏輯更加明確,但依然存在很多令人頭疼的缺點:
(1)分布式固有的復雜性:網絡延遲、系統(tǒng)容錯、分布式事務等問題;
(2)重復勞動:可能存在這種情況,多個功能都需要使用同一個功能,但該功能還沒有達到要分解成一個微服務的程度。
4、微服務設計原則
(1)單一職責:每個服務只負責單獨的功能;
(2)服務自治:與其他服務高度解耦;
(3)輕量級通信機制;
(4)微服務粒