微服務專欄地址
目錄
1. 簡介
既然微服務是一種架構風格,那麼從總體的技術架構圖來理解微服務則再好不過。
2. 總體技術架構圖
學習於極客時間,架構師楊波的微服務分享
總體技術架構圖從底層到接入層分了六層
- 基礎設施層:是軟件運行的必要條件,計算、網絡、存儲、監控、安全、IDC
- 平臺服務層:包含圖中幾個模塊,資源治理、集羣資源調度配合實際業務場景實現資源充分利用,如業務量暴增時,增加服務,上調資源,需要配合監控告警,理想狀態是如何實現自動化,交由系統彈性分配。鏡像治理、發佈系統幫助實現自動化。IAM ( Identity And Access Management)
- 支撐服務層:後續文章的核心討論點,也是微服務架構落地與實現的帶來的挑戰
- 業務服務層:分解爲基礎服務與聚合服務兩個維度
- 基礎服務:基於單一職責,根據業務特點沉澱與底層的核心基礎服務、公共服務、中間層服務
- 聚合服務:很多時候基礎服務是可重複利用的,同時也需要支持需求的多變,通過聚合服務將基礎服務關聯,組件,再封裝,可很好實現目標
- 網關層:可根據訪問者類型拆分爲圖中幾類。內部的接口無論出於安全、穩定性、還是設計上的考慮都不應該直接開放給接入層(或者是調用者),引入網關層設計可以很好解決上述問題,並且可通過網關層實現特定需求,如黑名單過濾,鑑權、反向路由等
- 接入層:統一引入LB,可分爲外部LB以及內部LB。負載均衡已成爲標配,無論是需要充分利用資源,還是控制訪問流量。主流的解決方式nginx、f5、軟負載等
3. 微服務框架需要爲我們解決什麼
框架的意義是讓我們更專注與業務開發,減少重複工作,提高開發效率。
3.1 微服務框架有什麼用
微服務架構分層中,業務服務層纔是我們的業務實現代碼所在。去除與運維、硬件相關的基礎設施層及平臺服務層。接入層的LB、網關層、支撐服務層我們都依託於框架,如果有一套完善的微服務框架能幫助我們解決這些與業務無關,但是必須由他們來支撐業務的正常運行的模塊,那麼對於整體的開發效率的提升是很有幫助的。
3.2 微服務框架具體解決什麼
- 負載均衡(軟件形式的負載均衡)
- 服務治理
- 集中配置
- 限流熔斷
- API網關
- 日誌聚合
- 監控告警
- 後臺服務
- 認證授權