• 教育行業A股IPO第一股(股票代碼 003032)

    全國咨詢/投訴熱線:400-618-4000

    微服務架構有什么優勢?

    更新時間:2020年04月10日14時21分 來源:傳智播客 瀏覽次數:

    就目前來看微服務并沒有一個嚴格的定義,每一個人對微服務的理解都是不一樣的. Martin Fowler 在它的博客中是這樣表述微服務的

    1586490652733_微服務架構01.png


    微服務架構風格是一種將一個單一應用程序開發為一組小型服務的方法,每一個服務運行在自己的進程中,服務間通信采用的輕量級通信機制(通常用 HTTP 資源 API)。 這些服務圍繞業務能力構建并且可通過全自動部署機制獨立部署。這些服務公用一個最小型的集中式的管理,服務可用不同的語言開發,使用不同的數據存儲技術, 微服務架構如下圖所示:

    1586490661532_微服務架構02.png


    微服務的優點

    ·易于開發和維護: 一個微服務只會關注一個特定的業務功能,所以它業務清晰、代碼量少。開發和維護單個微服務相當簡單。而整個應用是若干個微服務構建而成的,所以整個應用也被維持在一個可控狀態。

    ·單個微服務啟動較快: 單個微服務代碼量較少,所以啟動會比較快。

    ·局部修改容易部署: 單個應用只要有修改,就得重新部署整個應用,微服務解決了這樣的問題。一般來說,對某個微服務進行修改,只需要重新部署這個服務即可。

    ·技術棧不受限: 在微服務架構中,可以結合項目業務及團隊的特點,合理選擇技術棧。例如某些服務可以使用關系型數據庫 Mysql,有些服務可以使用非關系型數據庫如 redis;甚至可根據需求,部分微服務使用 Java 開發,部分微服務使用 Node.js 開發。按需收縮: 可根據需求,實現細粒度的擴展。例如,系統中的某個微服務遇到了瓶頸,可以結合這個微服務的業務特點,增加內存、升級 CPU 或者增加節點。

    微服務的缺點

    ·運維要求較高: 更多的服務意味著更多的運維投入。在單體架構中,只需要保證一個應用的正常運行。而在微服務中,需要保證幾十甚至幾百個服務正常運行與協作,這給運維帶來了很大的挑戰。

    ·分布式固有的復雜性: 使用微服務構建的是分布式系統。對于一個分布式系統,系統容錯、網絡延遲等都會帶來巨大的挑戰。

    ·接口調整成本高: 微服務之間通過接口進行通信。如果修改某一個微服務 API,可能所有使用該接口的微服務都需要調整。

    猜你喜歡:

    java中級程序員學習線路圖

    SpringBoot整合NoSQL 數據庫(Redis)實現緩存

    黑色丝袜脚足国产在线看,国产国语脏话对白免费视频,99精品国产自在现线,国产偷窥女洗浴在线观看 网站地图