1、簡介
SOA(Service Oriented Architecture)“面向服務的架構”:他是一種設計方法,其中包含多個服務, 服務之間通過相互依賴最終提供一系列的功能。一個服務 通常以獨立的形式存在與操作系統進程中。各個服務之間 通過網絡調用。
2、和微服務對比
微服務架構其實和 SOA 架構類似,微服務是在 SOA 上做的升華,微服務架構強調的一個重點是“業務需要徹底的組件化和服務化”,原有的單個業務系統會拆分為多個可以獨立開發、設計、運行的小應用。這些小應用之間通過服務完成交互和集成。
微服務是SOA發展出來的產物,它是一種比較現代化的細粒度的SOA實現方式
微服務架構 = 80%的SOA服務架構思想 + 100%的組件化架構思想 + 80%的領域建模思想
3、細節
SOA解決多服務凌亂問題,SOA架構解決數據服務的復雜程度,同時SOA又有一個名字,叫做服務治理。
(1)所有的團隊都要以服務接口的方式,提供數據和各種功能。
(2)團隊之間必須通過接口來通信。
(3)不允許任何其他形式的互操作:不允許直接鏈接,不允許直接讀其他團隊的數據,不允許共享內存,不允許任何形式的后門。唯一許可的通信方式,就是通過網絡調用服務。
(4)具體的實現技術不做規定,HTTP、Corba、PubSub、自定義協議皆可。
(5)所有的服務接口,必須從一開始就以可以公開作為設計導向,沒有例外。這就是說,在設計接口的時候,就默認這個接口可以對外部人員開放