1.微服務技術選型圖如下圖所示: 2.如何進行微服務架構設計: 深入業務功能, 滿足功能性需求 非功能性需求關註擴展性,穩定性。可維護性,伸縮性,高可用,高性能 堅持kiss原則,防止簡單問題複雜化 註: 可伸縮性是指系統通過增加或減少硬體水平從而提升或降低系統性能的難易程度。可伸縮性分為scale ...
1.微服務技術選型圖如下圖所示:
2.如何進行微服務架構設計:
- 深入業務功能, 滿足功能性需求
- 非功能性需求關註擴展性,穩定性。可維護性,伸縮性,高可用,高性能
- 堅持kiss原則,防止簡單問題複雜化
註:
可伸縮性是指系統通過增加或減少硬體水平從而提升或降低系統性能的難易程度。可伸縮性分為scale up和scale out。
scale up是指提高單台伺服器的硬體水平來提高系統的整體處理能力,可以調整的有CPU,存儲,記憶體等;scale out是指通過增加系統的處理節點的方式來提高系統的整體處理能力。
可擴展性是軟體系統應對需求增加或需求變化的能力。
3.微服務架構設計
請求通過服務網關將轉發到業務服務 ,這裡做了粗粒度的拆分,三個服務將數據返回給服務網關,然後服務網關聚合數據給終端用戶 jwt是個安全傳輸協議 服務註冊發現、斷路器、鏈路追蹤幫助我們提供系統的伸縮性、可擴展性、和穩定性,並且能夠定位性能瓶頸 後端存儲:選用事務型關係型資料庫mysql,臨時存儲和緩存使用redis 為了快速定位系統問題,監控整個系統的狀態,加強了監控和日誌管理 日誌聚合採用ELK這種架構