什么是微服務,為什么要使用微服務


淺談傳統架構與微服務架構:

  傳統架構是單一架構模式,就是將項目整體打包部署,比如java語言的項目會打成war包,部署在tomcat或者jetty應用服務器上,如果使用springboot還可以打成jar包

  微服務架構是將整體項目分割成項目關聯的獨立服務,一個服務通常會實現一組獨立的功能,包含自己的邏輯,各個微服務之間關聯通過暴露api來實現,這些獨立的微服務可以部署在不同的服務器,虛擬機或系統中

為何要使用微服務架構:

  單一架構模式在項目初期的時候開發,測試,部署方便,但是隨着項目逐步開發,項目工程會很大,最終互相之間會有繁瑣的jar包

    1.不再適用於敏捷開發,任何開發人員都不能完全理解,在修復漏洞和添加新功能時候變得復雜

    2.項目模塊越大,啟動越慢,很小的改動也需要重新部署整個項目

    3.任何模塊的漏洞,都會降低系統的可靠性

    4.如果想整體使用新的技術,新的框架,那是不可能的

  如果采用微服務,解決了單一系統的復雜性,主要有以下優點

    1.可采用敏捷開發模式,選擇合適的技術

    2.每一個微服務是獨立部署的,可以快速迭代部署

    3.一些需要負載均衡的服務可以使用ngix同一反向代理分發請求,這樣不需要整個系統負載均衡了

微服務的缺點:

    1.微服務作為分布式系統時候帶來了復雜性,當應用是整體應用時,模塊之間可以內部調用,但微服務是多個獨一的應用,調用起來增加了一定的復雜性

    2.多個數據庫,事物的實現會頭痛

    3.測試微服務變得復雜,當一個服務依賴於另一個服務時候,測試時需要另一個服務的支持

    4.整體系統只需要部署在一組相同的服務器上,而微服務需要更高的自動化形似

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM