什麼是微服務

目錄html

首發日期:2019-04-08分佈式


微服務介紹


首先,說一下服務吧。服務,意思是某些功能的提供者。好比在一個電商平臺中,物流查詢是一個服務,短信發送是一個服務。微服務

而後說一下「微」,微就是微化服務,把一個服務拆成多個服務,直到它是一個單獨可提供的服務單元爲止,好比一個電商平臺能夠提供一個購物服務,而這個購物服務能夠拆分紅商品查詢服務,商品購買服務,物流查詢服務等等服務。而爲何要微化服務呢?這是爲了應用程序解耦和提升服務的性能效率。性能

當微化了服務後,每一個服務都是一個單獨的可運行單元。那麼這時候就能夠隨意地對這個服務進行擴展拷貝。一個平臺可能有一些高訪問的時候,好比雙11搶購,而若是不解耦,那麼咱們如何提升搶購服務的抗壓能力呢?而若是將搶購服務獨立成一個可運行的單元,那麼這時候咱們能夠把這個服務進行多部署,經過部署多個負責搶購服務的程序來提升搶購服務的性能。htm

除此以外,做爲一個單獨的可運行單元以後,對於分佈式部署也是有好處的。在分佈式的部署中,能夠按照不一樣的狀況來調整服務數量,好比一個地區可能比較喜歡作A服務就多部署A服務,若是比較少作B服務,那麼就少部署B服務。blog



下圖是來源是martin fowler官網的一個概念圖,與我上面所說的大同小異:
部署


補充

martin fowler是微服務概念的奠定者,他雖然不是第一個提出微服務概念的人,但他是第一個完備地說出微服務概念的人,想了解更多概念能夠參考如下兩個連接:
https://martinfowler.com/articles/microservices.html
https://martinfowler.com/microservices/get

相關文章
相關標籤/搜索