您好,登錄后才能下訂單哦!
本篇內容主要講解“微服務的優缺點是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“微服務的優缺點是什么”吧!
一、什么是微服務
在介紹微服務時,首先得先理解什么是微服務,顧名思義,微服務得從兩個方面去理解,什么是"微"、什么是"服務" 。微,狹義來講就是體積小、著名的"2 pizza 團隊"很好的詮釋了這一解釋(2 pizza 團隊最早是亞馬遜 CEO Bezos提出來的,意思是說單個服務的設計,所有參與人從設計、開發、測試、運維所有人加起來 只需要2個披薩就夠了 )。 而所謂服務,一定要區別于系統,服務一個或者一組相對較小且獨立的功能單元,是用戶可以感知最小功能集。
微服務最早由Martin Fowler與James Lewis于2014年共同提出,微服務架構風格是一種使用一套小服務來開發單個應用的方式途徑,每個服務運行在自己的進程中,并使用輕量級機制通信,通常是HTTP API,這些服務基于業務能力構建,并能夠通過自動化部署機制來獨立部署,這些服務使用不同的編程語言實現,以及不同數據存儲技術,并保持最低限度的集中式管理。
二、微服務的優點:
1.每個微服務都很小,這樣能聚焦一個指定的業務功能或業務需求。
2.微服務能夠被小團隊單獨開發,這個小團隊是2到5人的開發人員組成。
3.微服務是松耦合的,是有功能意義的服務,無論是在開發階段或部署階段都是獨立的。
4.微服務能使用不同的語言開發。
5.微服務易于被一個開發人員理解,修改和維護,這樣小團隊能夠更關注自己的工作成果。無需通過合作才能體現價值。
6.微服務允許你利用融合最新技術。
7.微服務只是業務邏輯的代碼,不會和HTML,CSS 或其他界面組件混合。
三、微服務架構的缺點
1.運維要求較高。對于單體架構來講,我們只需要維護好這一個項目就可以了,但是對于微服務架構來講,由于項目是由多個微服務構成的,每個模塊出現問題都會造成整個項目運行出現異常,想要知道是哪個模塊造成的問題往往是不容易的,因為我們無法一步一步通過debug的方式來跟蹤,這就對運維人員提出了很高的要求。
2.分布式的復雜性。對于單體架構來講,我們可以不使用分布式,但是對于微服務架構來說,分布式幾乎是必會用的技術,由于分布式本身的復雜性,導致微服務架構也變得復雜起來。
3.接口調整成本高。比如,用戶微服務是要被訂單微服務和電影微服務所調用的,一旦用戶微服務的接口發生大的變動,那么所有依賴它的微服務都要做相應的調整,由于微服務可能非常多,那么調整接口所造成的成本將會明顯提高。
4.重復勞動對于單體架構來講,如果某段業務被多個模塊所共同使用,我們便可以抽象成一個工具類,被所有模塊直接調用,但是微服務卻無法這樣做,因為這個微服務的工具類是不能被其它微服務所直接調用的,從而我們便不得不在每個微服務上都建這么一個工具類,從而導致代碼的重復。
到此,相信大家對“微服務的優缺點是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。