微服務結構是將單一應用程序開發為小型服務的方法,各服務在自己的過程中運行,服務之間通信采用的輕量級通信機制(通常使用HTTP資源API),這些服務以業務能力為中心構筑,可以通過全自動部署機制獨立部署。這些服務是最小的集中管理,服務可以用不同的語言開發,使用不同的數據存儲技術。那么微服務架構的優缺點有哪些?
微服務架構的優缺點有哪些?
1.易于開發和維護:一項服務只關注一項特定的業務功能,業務清晰,代碼量少。開發維護單項微服務相當簡單。整個應用程序由一些微型服務構建,因此整個應用程序處于可控狀態。
2.單一服務啟動快:單一服務代碼少,啟動快。
3.局部修改易于部署:單個應用程序只要有修改,就必須重新部署整個應用程序,微服務解決了這個問題。一般來說,修改某個微型服務,只需重新配置該服務。
4.技術堆棧不受限制:微服務結構可結合業務和團隊特點,合理選擇技術堆棧。例如,一些服務可以使用關系數據庫Mysql,一些服務可以使用非關系數據庫redis。甚至可以根據需服務可以使用JAVA開發,一些微服務可以使用Node.js開發。
5.按需收縮:可根據需要實現細粒度的擴展。例如,系統中的某個微服務遇到瓶頸,可以結合微服務的特點,增加內存,升級CPU,增加節點。
1.運輸要求高:更多的服務意味著更多的運輸投入。在單體結構中,只需保證一個應用程序的運行,在微服務中,需要保證幾十到幾百個服務器的正常運行和合作,這給運行維護帶來了巨大的挑戰
2.分戶式固有的復雜性:使用微服務結構的是分布式系統。對于分布式系統,系統容錯,網絡延遲帶來巨大挑戰。
3.界面調整成本高:微服務之間通過界面通信。
微服務近年來風起云涌,具有靈活部署、可擴展、技術異構等優點,但也給開發、運維帶來了復雜性。要不要采用微服務架構需要根據系統的特點,結合企業的組織架構、團隊能力等多方面來綜合判斷,而不是為微服務而服務。當開發一個新的系統時,由于業務邏輯和系統邊界還不夠清楚,可以首先采用Monolithic方式開發,直到識別出穩定的邏輯之后,再拆分微服務,從而避免由于邊界不清而重新劃分帶來的返工。以上就是微服務架構的優缺點有哪些的全部內容,希望對你有所幫助。
[免責聲明]
文章標題: 微服務架構的優缺點有哪些?
文章內容為網站編輯整理發布,僅供學習與參考,不代表本網站贊同其觀點和對其真實性負責。如涉及作品內容、版權和其它問題,請及時溝通。發送郵件至36dianping@36kr.com,我們會在3個工作日內處理。