任何東西都不會完美的,有優點也會有缺點當然微服務架構也是一樣的,在中培偉業中就有關于這一方面的知識講解。并且每一點都給我們做出來全面的系統的講解。
微服務架構的優勢:首先,我們可以通過分解巨大的單體式應用為多個服務方法解決復雜問題。同時應用可以被分解為多個可管理的分支和服務,當然是在功能不變的情況下進行的。因為微服務架構模式給單體式編碼方式很難實現的功能提供了模塊化的解決方案,所以,單個服務很容易開發、理解和維護。
第二,這種架構是由專業的開發團隊來開發的。開發者也就可以自由的選擇開發技術,提供API服務。現在的服務都是相對簡單的,就算用現在的技術重寫以前的代碼也不是一件很困難的事情。
微服務架構的劣勢:首先主要的不足是,微服務應用是分布式系統,因此互帶有一定復雜性。他們必須寫代碼來處理消息傳遞中的速度快慢或者不可用等局部失效問題。當然這也不是很大的難事,但相對于單體式應用中通過語言層級的方法或者進程調用,微服務下這種技術服務就會顯得更加復雜一些。
第二,一個關于微服務的挑戰來自于分區的數據庫架構。在商業交易中同時給多個業務分主體更新消息很是普遍的。這種交易對于單體式應用來說是非常容易的,因為只有一個數據庫。不同的服務就需要不同的數據庫,那么因為數據庫和消息傳遞中間并不支持這一需求,最終不得不使用一個最終一致的方法,從而對開發者提出了更高的要求和挑戰。