SpringCloud(三)常用系統架構技術講解


 

author:QYX 

以前我們使用過單體架構,把多個系統放到一個容器中集體調用,這種模式開發簡單,適合小型應用但不利於擴展且代碼耦合,后來我們引入和垂直應用架構,系統間相互獨立,通過前端統一調用,雖然解決了高並發的問題,也可以針對水平擴展,但也存在着系統間相互獨立,且重復開發的缺點,現在我們就來認識最常用的架構模式:分布式架構和微服務架構。

分布式架構

SOA(面向服務的架構)

SOA全稱為Service-Oriented Architecture,即面向服務的架構,它可以根據需求通過網絡對松散耦合的粗粒度應用組件(服務)進行分布式部署、組合和使用,一個服務通常以獨立的形式存在與操作系統進程中。

站在功能的角度,把業務邏輯抽象成可復用、可組裝的服務,通過服務的編排實現業務的快速再生,目的:把原先固有的業務功能轉變為通用的業務服務,實習業務邏輯的快速復用

通過上面的描述可以發現SOA有如下幾個特點、分布式、可重用、擴展靈活、松耦合

SOA架構

當垂直應用越來越多,應用之間交互不可避免,將核心業務抽取出來,作為獨立的服務,逐漸形成穩定的服務中心,使前端應用能更快速的響應多變的市場需求

SOA

優點:

抽取公共的功能為服務,提高開發效率

對不同的服務進行集群化部署解決系統壓力

基於ESB/DUBBO減少系統耦合

缺點:

抽取的服務粒度較大

服務提供方與調用接口耦合度較高

 

 

                                            SOA架構示意圖

微服務架構

 

 

優點:

通過服務的原子化拆分(拆到不可再拆了),以及微服務的獨立打包,部署和升級,小團隊的交付周期將縮短,運維成本也將大幅度下降

微服務遵循單一原則,微服務之間采用Restful等輕量協議傳輸

缺點:

微服務過多,服務治理成本高,不利於系統維護

分布式系統開發的技術成本高(容錯、分布式事務等)

系統架構分析之遠程調用技術

流行的調用技術:RPChttp

分布式中的CAP原理

C 一致性(多節點下數據一致) A 可用性(保持服務可以用:多節點) P 分區容錯性(是否可以將數據存到多個地方)

一個系統中不可能同時滿足C、A、P

一般就是ac放棄分區容錯(物理數據庫) ap可以短暫允許數據的不一致(NoSQL數據庫的選擇,互聯網中用的較多) cp 放棄可用性()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM