微服務常見問題及解決方案


1、分解模式:如何把應用分成若干個小服務?

1)按業務功能分解,將應用分解成能產生業務價值的最小單元。

2)對於跨多個業務的類(如訂單會被訂單管理、訂單交付多個服務用到)用領域驅動設計(DDD),使用子域和邊界上下文的概念來着手解決。

2、集成模式

1)API網關模式

2)聚合器模式

3、數據庫模式

1)按服務分配數據庫,為每個微服務配一個獨立的數據庫;

2)按服務共享數據庫,一個數據庫不要超過3個微服務,否則會影響擴容、自治和獨立性。

3)命令查詢職責隔離

4、觀測模式

1)日志聚合:將多台機器上多個服務實例的請求匯聚到一起搜索和分析

2)性能指標:服務出現問題及時發出告警

3)分布式追蹤:追蹤橫跨多個微服務的問題點,如Spring Cloud Slueth + Zipkin Server,是一種常見的實現方式。

4)健康檢查:確保負載均衡不會將請求發給不健康的結點

5、橫切關注點

1)外部配置:外部化所有配置,確保應用啟動時能加載。實現不重啟服務刷新

2)服務發現模式

3)斷路器模式

4)藍綠部署模式

6、微服務架構模式:Sidecar 模式、鏈式微服務(Chained Microservice)、分支微服務(Branch Microservice)、事件溯源模式(Event Sourcing Pattern)、和持續交付方式等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM