一、背景&問題 之前框架是一個基於SOA思想設計的分散式框架。各應用通過服務方式提供使用,服務之間通信是RPC方式調用,具體實現基於.NET的WCF通信平臺。框架存在如下2個問題: 1、高併發處理能力不足。一當高併發請求,可能出現多個服務待定處理,導致整個系統出現瓶頸。 2、隨著移動端廣泛應用,服務 ...
一、背景&問題
之前框架是一個基於SOA思想設計的分散式框架。各應用通過服務方式提供使用,服務之間通信是RPC方式調用,具體實現基於.NET的WCF通信平臺。框架存在如下2個問題:
1、高併發處理能力不足。一當高併發請求,可能出現多個服務待定處理,導致整個系統出現瓶頸。
2、隨著移動端廣泛應用,服務不能靈活支持APP應用。
3、系統持續集成部署過於繁瑣,遇到問題不好定位。
基於以上存在問題升級框架,結合當前主流的架構思想,將系統進行服務化思維,就是“微服務架構”。
二、微服務架構
微服務架構(Microservices Architecture)是將系統拆分為多個服務,俗稱為應用服務。應用服務實現單一、具體的業務應用功能,支持獨立部署維護,多個應用服務構建成系統。應用服務之間通過輕量級通信框架進行,並且支持應用服務用不同技術或者平臺實現。微服務架構是SOA架構設計思想另一種實現方式。微服務架構有如下特點:
1、微服務架構好處
(1)橫向擴展應用服務提升系統併發處理能力
(2)應用服務獨立部署維護,有利於迭代開發升級持續部署
(3)架構靈活支持多種技術實現
(4)有利於應用服務實現高可用性
2、微服務架構不足
(1)對系統設計有一定要求,尤其是拆分技術應用服務介面
(2)導致系統實現複雜度的提高
(3)需要確保系統數據一致性機制
(4)導致系統維護要求和成本提高
系統是否需要採用微服務架構進行構建是由項目需求決定。採用微服務架構進行設計構建系統,對團隊成員能力比傳統要求高,尤其是設計能力。
三、框架設計原則
1、可擴展:支持不修改系統功能,按需擴展伺服器資源。
2、高可用:支持分散式部署雙機熱備機制,滿足系統高可用性的要求。
3、高併發:支持快捷擴張應用服務處理能力,提升系統處理能力,滿足併發請求。
4、安全性:訪問安全通過統一認證訪問;信息安全通過加解密、簽名傳輸;網路安全通過網路隔離及防火牆;數據安全通過定時備份及高容錯能力。
5、一致性:採用數據最終一致性策略。