推薦答案
概念
SOA 是Service-Oriented Architecture的簡稱,在《微服務設計》第1.3節中,SOA是一種設計方法,其中包含多個服務,而服務之間通過配合最終會提供一系列的功能。一個服務通常以獨立的形式存在于操作系統進程中。服務之間通過網絡調用,而非采用進行內調用的方法進行通訊。不同的組織機構或個人從不同的層面上對SOA進行了描述和定義,我覺得較為準確的定義分為三類:
W3C的定義:SOA是一種應用程序架構,在這種架構中,所以功能都定義為獨立的服務,這些服務帶有定義明確的可調用接口,能夠以定義好的順序調用這些服務形成業務流程。
Service-architecture.com的定義:服務是精確定義、封裝晚上、地理與其他讀物所處環境和狀態的函數。SOA本質上是服務的集合、服務之間彼此通信,這種通信可能是簡單的數據傳送,也可能是兩個或更多的服務協調進行某些活動。服務之間需要某些方法進行連接。
Gartner的定義:SOA是一種C/S架構的軟件設計方法,應用有服務和服務事業這租車,SOA與大多數通用的C/S架構模型不同之處在于它著重強調構建的松散耦合,并事業獨立的標準接口。
我對SOA的認知是,將整個系統按照實際業務,拆分成合適的、能夠獨立部署的模塊,每個模塊之間相互獨立,但是組合起來又是一個產品。比如在Springcloud中注冊中心、網關、配置中心、監控中心等。至于如何拆分,可以使用DDD模式進行設計。
特點
SOA的實施具有鮮明的基本特征,實施SOA的關鍵目標是提高資源的利用率。如下為SOA的特征:
1. 外部或第三方可能訪問
2. 隨時可用,保證高可用性
3. 粗粒度的服務接口分級
4. 松散耦合
5. 可重用的服務
6. 服務接口設計管理
7. 標準化的服務接口
8. 支持各種消息模式
9. 精確定義的服務契約
其他答案
-
soa(Service-Oriented Architecture)是面向服務的架構,它是一種粗粒度、松耦合服務架構,服務之間通過簡單、精確定義接口進行通訊,不涉及底層編程接口和通訊模型,將應用程序的不同功能單元(稱為服務)通過這些服務之間定義良好的接口和契約聯系起來。
-
SOA(面向服務的架構)是一種軟件架構風格,它將應用程序的功能分解為可重用的服務。這些服務可以獨立于應用程序進行開發、測試和部署,并且可以通過網絡進行訪問。 SOA框架通常包括以下組件: 1.服務定義語言(SDL):用于描述服務的接口、消息和數據格式等信息。 2.服務注冊中心:用于注冊和發現服務,并維護服務的可用性和狀態。 3.服務調用器:用于調用服務,并將請求轉發到正確的服務實例。 4.服務組合器:用于將多個服務組合成一個完整的業務流程。 5.監控和管理工具:用于監視服務的性能和可用性,并進行故障排除和修復。 常見的SOA框架包括Web Services、RESTful API、Java Service Provider Interface(JSPI)、Open Service Broker Architecture(OSBA)等。
