- 微服務架構原理與開發實戰
- 張剛編著
- 677字
- 2024-01-22 18:20:45
1.4.1 微服務能解決的問題
下面從1.3.2節中總結的單體式架構的缺點來分析。
首先,微服務解決了難以維護的問題。微服務本身微小的設計,導致一個服務的職責不會過大,從而輕松地解決了難以維護的問題,單對一個服務來講,它的代碼量不會特別多,量少的東西不一定簡單,但一定是好管理的,而且后續介紹的有關微服務更科學的程序設計方法,也會大大增加代碼的可維護性。
其次,過載的IDE和過載的Web容器,似乎也隨著服務的微小化而輕松解決了,微服務架構中的每個服務都是獨立部署的,擁有自己獨立的進程,無論是IDE還是Web容器,都可以輕松地承載,而且應用程序的啟動和調試效率也要高得多。
然后,對于部署,微服務架構中,服務都是自動部署的(具體的方式后續章節會有介紹),而且每個服務負責的職責都很小,只會部署有變化的服務,所以單體式架構中需要部署全部功能的風險也就沒有了。
這樣的方式,在應用需要做水平擴展的時候,只需增加需要的服務節點即可,再根據具體增加節點的特性,如存儲、CPU、內存等增加具體的符合需求的資源,也就不會出現資源的浪費了。
最后,關于技術創新,微服務本身是獨立的,而且每個微服務之間的通信是輕量級的,這就導致微服務之前幾乎是沒有技術依賴和限制的,服務既可以有自己獨立的存儲方式,也可以有不同的語言,服務所采用的技術棧也可以是完全不一樣的。所以,你幾乎可以使用任何你認為合適的技術,當然,做技術選型往往可能需要考慮更多的問題,但至少在項目的服務架構層面,微服務并不會對一個項目的技術選擇造成什么困擾。
看上去微服務似乎真的解決了單體式架構的所有問題,那除了能解決這些問題,微服務本身又有哪些新的特點呢?