SOA: 面向服務的體系結構 (SOA) 是一項引人注目的技術,用於開發與業務模型保持最佳一致性的軟件應用程序。html
服務治理: 也稱爲SOA治理,指的是用來管理SOA的採用和實現的過程。java
SOA(面向服務的體系結構)概念由來已久,在10多年前便開始進入到咱們廣大軟件開發者的視線中。SOA是一種粗粒度、鬆耦合服務架構,服務之間經過簡單、精肯定義接口進行通信,不涉及底層編程接口和通信模型。SOA能夠看做是B/S模型、Web Service技術以後的天然延伸。spring
直到2011年10月27日,阿里巴巴開源了本身的SOA服務化治理方案的核心框架Dubbo,服務治理和SOA的設計理念開始逐漸在國內軟件行業中落地,並被普遍應用。數據庫
Dubbo是一個高性能服務框架,致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案,使得應用可經過高性能RPC實現服務的輸出和輸入功能,和Spring框架能夠無縫集成。編程
做爲一個分佈式服務框架,以及SOA治理方案,Dubbo主要包括安全
Dubbo的最大特色是按照分層的方式來架構,使用這種方式可使各個層之間解耦合(或者最大限度的鬆耦合),從服務模型的角度來看,Dubbo採用的是一種很是簡單的模型,要麼是提供方提供服務,要麼是消費方消費服務,因此基於這一點能夠抽象出服務提供方(Provider)和服務消費方(Consumer)兩個角色.架構
Dubbo包含遠程通信,集羣容錯和自動發現三個核心部分,提供透明化的遠程方法調用,實現像調用本地方法同樣調用遠程方法,只需簡單配置,沒有任何API侵入,同事具有軟負載均衡及容錯機制,可在內網代替F5等硬件負載均衡器,下降成本,減小單點,能夠實現服務自動註冊與發現,再也不須要寫死服務提供方地址,註冊中心基於接口名查詢服務提供者的IP地址,而且可以平滑添加或刪除服務提供者負載均衡
微服務架構在某種程度上是面向服務的架構SOA繼續發展的下一步。框架
微服務是一種架構風格,一個大型複雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是鬆耦合的。每一個微服務僅關注於完成一件任務並很好地完成該任務。在全部狀況下,每一個任務表明着一個小的業務能力。 如用戶管理、用戶角色、電子商務車、搜索引擎、社交媒體登陸等。此外,它們是徹底獨立的,也就是說它們能夠寫入不一樣的編程語言並使用不一樣的數據庫。集中式服務管理幾乎不存在,微服務使用輕量級HTTP、REST或Thrift API進行通訊。 編程語言
SOA vs. MicroServices
下面進一步解釋上表所述的不一樣之處:
簡單結論: 由於它們服務於不一樣的目的,微服務和SOA確實是不一樣類型的體系結構。SOA更適合大型複雜企業應用程序環境,微服務架構,更適合於較小和良好的分割,基於Web的系統,正在開發移動或Web應用程序,那麼微服務做爲開發人員能夠爲您提供更大的控制權。
以上部分摘抄至: https://blog.csdn.net/chszs/article/details/78515231
Spring Cloud 基於 Spring Boot,爲微服務體系開發中的架構問題,提供了一整套的解決方案——服務註冊與發現,服務消費,服務保護與熔斷,網關,分佈式調用追蹤,分佈式配置管理等。
Spring Boot 是 Spring 的一套快速配置腳手架,使用默認大於配置的理念,用於快速開發單個微服務。
重點:
核心功能:
使用 Dubbo 構建的微服務架構就像組裝電腦,各環節咱們的選擇自由度很高,可是最終結果頗有可能由於一條內存質量不行就點不亮了,老是讓人不怎麼放心,可是若是你是一名高手,那這些都不是問題;而 Spring Cloud 就像品牌機,在 Spring Source 的整合下,作了大量的兼容性測試,保證了機器擁有更高的穩定性,可是若是要在使用非原裝組件外的東西,就須要對其基礎有足夠的瞭解。
以上部分摘抄至: https://www.cnblogs.com/xishuai/archive/2018/04/13/dubbo-and-spring-cloud.html
java知識內容博大精深,以上若是有什麼不對的,或者有特殊看法的,請留言一塊兒探討;