SCS(- )架構介紹SCS(- )架構定義與特性自主Web應用:SCS是一個自主的Web應用程式,包含Web UI、邏輯和持久化層。這種完整性確保了一個用戶故事通常可以通過修改一個SCS來實現。 API的可選性:SCS可以有一個服務API,但這並非必需。如果SCS內的邏輯僅由SCS內的UI使用,則 ...
SCS(- )架構介紹
SCS(- )架構定義與特性
- 自主Web應用:SCS是一個自主的Web應用程式,包含Web UI、邏輯和持久化層。這種完整性確保了一個用戶故事通常可以通過修改一個SCS來實現。
- API的可選性:SCS可以有一個服務API,但這並非必需。如果SCS內的邏輯僅由SCS內的UI使用,則無需API。
- 無共用UI:SCS之間不應共用UI,以避免緊密耦合和不必要的複雜性。
- SCS與微服務的關係:
- 類似但更精確:SCS與微服務在可獨立部署和解耦方面相似,但SCS的定義更為精確,通常粒度更粗。
- 單個功能實現:SCS確保一個功能僅在一個SCS中實現,從而通過單一部署即可將其投入生產。
- Bounded Context與DDD:
- Bounded Context:每個SCS應實現一個Bounded Context,通過用戶故事分組來找到這些Bounded Context。
- 用戶故事與旅程:通過用戶故事和用戶旅程來確定SCS的劃分,每個步驟或需求可能是一個SCS的候選。
- SCS的溝通與交互:
- UI集成:UI集成是首選的SCS間溝通方式,包括JavaScript轉碼、ESI和SSI等技術。
- 非同步與同步通信:非同步通信(如事件和消息傳遞)是推薦的溝通方式,同步通信則作為最後手段。
- 團隊與所有權:
- 單一團隊擁有:每個SCS由單一團隊擁有,確保團隊可以獨立工作,並減少協調需求。
- 技術優勢與限制:
- 技術優勢:SCS提供了高開發生產力和低技術複雜性,因為它們通常是傳統的Web應用程式。
- 限制:SCS主要適用於Web系統,且可能需要對前端開發有一定的技能要求。
- 實際應用與案例:
- Otto案例:Otto等大型電商公司採用SCS架構,證明瞭其在複雜Web應用中的有效性。
- 遷移與實現難度:
- 遷移挑戰:如果現有架構依賴於不同的方法,遷移到SCS架構可能具有挑戰性。
- 實施要求:對Web應用程式的深入理解是實現SCS架構的重要前提。
單體
微服務
SCS
為什麼自包含系統 (SCS) 比微服務更具優勢:
更廣泛的範圍:SCS 具有更廣泛的範圍,包括邊界上下文中的 UI、業務邏輯和數據存儲
降低運營複雜性:由於管理許多較小的、相互依賴的服務,微服務可能會導致高水平的運營複雜性,而 SCS 更重要、更自主。
數據一致性:SCS 管理其數據,從而在每個系統內實現更好的數據一致性,而微服務通常依賴於共用數據存儲。
使用SCS架構優勢
1. 自治 - 每個 SCS 都獨立運行,具有其資料庫、業務邏輯和用戶界面。
2. 領域對齊 - SCS 圍繞特定的業務領域構建,確保每個單元代表一組連貫且有意義的功能。
3. 去中心化數據管理 - 每個 SCS 的單個資料庫確保其邊界內的數據一致性,減少跨服務依賴性。
4. 技術多樣性 - 允許在其他 SCS 中使用不同的技術堆棧,以滿足每個領域的特定需求。
5. 顯式發佈的介面 - 定義明確的介面,用於與其他系統的交互,在保持封裝的同時保持清晰的契約。
6. 獨立可部署性 - 每個 SCS 都可以獨立部署、擴展和更新,而不會影響其他系統。
結論
SCS是一種微服務架構的實踐方法,它通過將系統劃分為自主的Web應用程式(SCS),實現了高度的解耦和獨立部署。SCS強調每個SCS實現一個Bounded Context,並通過UI集成和非同步通信等方式保持低耦合。SCS適用於複雜的Web系統,並提供了高開發生產力和低技術複雜性的優勢。然而,其實現需要對Web應用程式有深入的理解,並且遷移到SCS架構可能具有挑戰性。
今天先到這兒,希望對AIGC,雲原生,技術領導力, 企業管理,系統架構設計與評估,團隊管理, 項目管理, 產品管理,信息安全,團隊建設 有參考作用 , 您可能感興趣的文章:
構建創業公司突擊小團隊
國際化環境下系統架構演化
微服務架構設計
視頻直播平臺的系統架構演化
微服務與Docker介紹
Docker與CI持續集成/CD
互聯網電商購物車架構演變案例
互聯網業務場景下消息隊列架構
互聯網高效研發團隊管理演進之一
消息系統架構設計演進
互聯網電商搜索架構演化之一
企業信息化與軟體工程的迷思
企業項目化管理介紹
軟體項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領導
學習型組織與企業
企業創新文化與等級觀念
組織目標與個人目標
初創公司人才招聘與管理
人才公司環境與企業文化
企業文化、團隊文化與知識共用
高效能的團隊建設
項目管理溝通計劃
構建高效的研發與自動化運維
某大型電商雲平臺實踐
互聯網資料庫架構設計思路
IT基礎架構規劃方案一(網路系統規劃)
餐飲行業解決方案之客戶分析流程
餐飲行業解決方案之採購戰略制定與實施流程
餐飲行業解決方案之業務設計流程
供應鏈需求調研CheckList
企業應用之性能實時度量系統演變
如有想瞭解更多軟體設計與架構, 系統IT,企業信息化, 團隊管理 資訊,請關註我的微信訂閱號:
作者:Petter Liu
出處:http://www.cnblogs.com/wintersun/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
該文章也同時發佈在我的獨立博客中-Petter Liu Blog。