微服務架構采用Scale Cube方法設計應用架構,將應用服務按功能拆分成一組相互協作的服務。每個服務負責一組特定、相關的功能。每個服務可以有自己獨立的數據庫,從而保證與其他服務解耦。
微服務優點
1、通過分解巨大單體式應用為多個服務方法解決了復雜性問題,每個微服務相對較小
2、每個單體應用不局限于固定的技術棧,開發者可以自由選擇開發技術,提供API服務。
3、每個微服務獨立的開發,部署
4、單一職責功能,每個服務都很簡單,只關注于一個業務功能
5、易于規模化開發,多個開發團隊可以并行開發,每個團隊負責一項服務
6、改善故障隔離。一個服務宕機不會影響其他的服務
微服務缺點:
1.開發者需要應對創建分布式系統所產生的額外的復雜因素
l 目前的IDE主要面對的是單體工程程序,無法顯示支持分布式應用的開發
l 測試工作更加困難
l 需要采用服務間的通訊機制
l 很難在不采用分布式事務的情況下跨服務實現功能
l 跨服務實現要求功能要求團隊之間的緊密協作
2.部署復雜
3.內存占用量更高