一句話定義
SOA(Service-Oriented Architecture)是將業務功能封裝為獨立、可複用、標準介面的服務,供不同應用程式透過網路呼叫的架構風格。
核心特徵
- 服務自治:服務內部實作對消費者透明,可獨立部署、升級。
- 標準介面:通常使用 HTTP/REST、SOAP、gRPC 等通訊協定,資料格式為 JSON/XML/Protobuf。
- 鬆耦合:消費者僅依賴介面契約,不依賴具體實作技術棧。
- 可複用:同一服務可被多個前端(Web、App、第三方)呼叫。
實例:淘寶開放平台
- 服務提供方:淘寶核心系統(商品、訂單、用戶、物流)。
- 服務消費方:ISV 應用、商家 ERP、直播帶貨工具、數據分析平台。
- 介面形式:REST API + OAuth2 鑑權,回傳 JSON。
- 效益:核心系統不需為每個合作方定制開發,合作方自行對接標準 API,快速創新。
SOA vs 微服務
| 維度 | SOA | 微服務 |
| 粒度 | 較粗(業務領域級) | 極細(單一業務能力) |
| 通訊 | ESB 企業服務總線 | 輕量 HTTP/gRPC |
| 資料 | 共享資料庫常見 | 每服務獨立資料庫 |
| 部署 | 集中式治理 | 獨立 CI/CD |
落地關鍵
- 領域建模:劃分有界上下文,定義服務邊界。
- 契約優先:先定 OpenAPI/Swagger 文檔,再開發實作。
- 治理體系:服務註冊發現、熔斷限流、鏈路追蹤、統一日誌。
- 安全標準:OAuth2/JWT、mTLS、API Gateway 統一鑑權。
總結
SOA 核心是「將業務能力標準化為服務」。淘寶開放平台是典型 SOA 實踐:核心能力對外暴露標準 API,支撐龐大生態。理解 SOA 不需背誦定義,看懂「誰提供什麼介面、誰消費、如何治理」即可。