何爲微服務?

什麼是微服務?


微服務是一種架構風格,一種軟件架構,是由多個服務組成的集合體,集合體中的每一個服務都是獨立存在,均可以獨立部署。
    各個服務之間是送耦合的,各個服務經過通訊機制進行通訊。
    每一個服務都只關注一個業務功能,完成本身的業務任務便可。如:訂單服務,用戶服務。

  • 優勢
    開發、維護相對簡單:微服務單個服務至關於一個項目,只須要關心這個模塊的業務邏輯便可。代碼量、代碼複雜度都會下降,易於開發、維護。
    技術棧靈活:各個服務可用不一樣的技術來實現,訂單服務用java實現,用戶服務用python實現。
    服務獨立解耦:微服務是高內聚的,每一個服務處理每一個服務相應的業務便可。每一個微服務可獨立部署,再也不須要協調其它服務對本服務的影響。

  • 缺點維護和部署複雜度的增長:單體應用可能只須要維護、部署一個項目便可,可是微服務是由多個服務構成,須要維護、部署多個服務,當微服務中某一個服務出現異常,想要肯定是哪個服務出現問題是不容易的,沒法經過debug來肯定問題。服務間通訊的成本:單體應用只須要調用服務內接口便可。可是微服務之間,是須要服務與服務之間相互通訊,經過RPC、MQ等來通訊,那麼調用接口的成本明顯增長,提升了複雜度,引入許多問題,如:網絡延遲,消息序列化,容錯性等等。系統集成測試難度大:微服務測試,須要啓動這個服務全部相關的服務。
相關文章
相關標籤/搜索