官术网_书友最值得收藏!

1.4.1 微服務能解決的問題

下面從1.3.2節中總結的單體式架構的缺點來分析。

首先,微服務解決了難以維護的問題。微服務本身微小的設計,導致一個服務的職責不會過大,從而輕松地解決了難以維護的問題,單對一個服務來講,它的代碼量不會特別多,量少的東西不一定簡單,但一定是好管理的,而且后續介紹的有關微服務更科學的程序設計方法,也會大大增加代碼的可維護性。

其次,過載的IDE和過載的Web容器,似乎也隨著服務的微小化而輕松解決了,微服務架構中的每個服務都是獨立部署的,擁有自己獨立的進程,無論是IDE還是Web容器,都可以輕松地承載,而且應用程序的啟動和調試效率也要高得多。

然后,對于部署,微服務架構中,服務都是自動部署的(具體的方式后續章節會有介紹),而且每個服務負責的職責都很小,只會部署有變化的服務,所以單體式架構中需要部署全部功能的風險也就沒有了。

這樣的方式,在應用需要做水平擴展的時候,只需增加需要的服務節點即可,再根據具體增加節點的特性,如存儲、CPU、內存等增加具體的符合需求的資源,也就不會出現資源的浪費了。

最后,關于技術創新,微服務本身是獨立的,而且每個微服務之間的通信是輕量級的,這就導致微服務之前幾乎是沒有技術依賴和限制的,服務既可以有自己獨立的存儲方式,也可以有不同的語言,服務所采用的技術棧也可以是完全不一樣的。所以,你幾乎可以使用任何你認為合適的技術,當然,做技術選型往往可能需要考慮更多的問題,但至少在項目的服務架構層面,微服務并不會對一個項目的技術選擇造成什么困擾。

看上去微服務似乎真的解決了單體式架構的所有問題,那除了能解決這些問題,微服務本身又有哪些新的特點呢?

主站蜘蛛池模板: 昌乐县| 株洲县| 洛浦县| 留坝县| 图们市| 荔浦县| 定襄县| 平顶山市| 灵寿县| 虹口区| 桑植县| 家居| 怀化市| 措美县| 沂水县| 大洼县| 清原| 山西省| 逊克县| 图们市| 绥中县| 闻喜县| 崇文区| 小金县| 靖安县| 准格尔旗| 赞皇县| 大足县| 瑞安市| 武威市| 崇文区| 富源县| 霍邱县| 芦山县| 红安县| 陵水| 太原市| 广安市| 偏关县| 黄梅县| 凤翔县|