微服務核心架構

定義:微服務是一種架構風格、由馬丁在其博文中首次提出;
特點:1. 一組小的服務 2.獨立的進程 3.輕量級級通信協議(即http) 4.基於業務能力 5. 獨立部署 6.無集中式管理
挑戰:1. 分佈式複雜性 2. 數據一致性 3.運維複雜性 4. 測試複雜性
康威法則:公司的組織架構應與開發系統的架構保持一致,這樣能提升研發效率;
引入微服務的適用性:當系統越來越複雜時,如果採用單系統可以會帶來生產力的降低,這樣可以考慮引入微服務,根據實踐在一個百人團隊中可以採用微服務架構;對於新系統不建議一上來就使用微服務架構,裏面涉及到基礎設施的投入、服務的拆分等;
組織引入微服務:在微服務架構時組件跨職能部門的微服務團隊,以平臺方式交付;
阿里的微服務中臺戰略:包括技術中臺(IaaS、PaaS)、業務中臺(微服務能力)、業務前臺;
服務分層:行業內還沒有統一標準,有的分三到四層,有的沒有分層;一種比較簡單明細的分層方式爲:可以分爲兩層,第一層是基礎服務層(核心領域服務、公共服務、中間層服務)、聚合服務(適配服務、邊界服務)
技術架構:基礎設施、平臺服務、支撐服務、業務服務層(微服務)、網關層、接入層;
服務發現機制:1.傳統負載均衡,這種方式缺點是負載均衡是單點,有性能開銷;2. 將負載均衡以進程方式集成到消費者內部,不存在負載均衡單點,但這種方式需要根據不同語言進行開發
API服務網關其主要作用包括:反向路由、安全認證、限流熔斷、日誌監控;目前開源的實現時Zuul,其包括前置路由過濾器(日誌記錄)、路由過濾器(尋找到對應的服務)、後置路由過濾器(日誌記錄)等,可以由用戶自行定義過濾器(可插拔的方式)
Netflix路由發現: 包括API網關、服務註冊中心、服務層等;
集中式配置中心: 管理員可以在配置中心修改配置,通過Push或Pull兩種方式讓服務獲取變更的配置;
微服務通訊方式:1.RPC(緊耦合、消息協議是二進制、通訊協議是TCP、性能高、強類型客戶端、典型框架包括Dubbo、Tars、Motan、對外開放需要轉換成Rest) 2.Rest(鬆耦合、消息協議是文本、通訊協議是Http、性能一般、一般Http客戶端,典型框架包括Srping MVC| Boot、可以直接對外開放);
微服務治理:通過微服務框架對多個內容進行統一管理;
微服務監控:基礎設施監控、系統層監控、應用層監控、業務監控、端用戶體驗監控
微服務調用鏈監控:國內主流的是CAT;
限流熔斷:主要的框架是hystrix;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章