

2018-06-20/技術分享
微服務架構(Microservice Architecture)是一種架構概念,旨在通過將功能分解到各個離散的服務中以實現對解決方案的解耦。你可以將其看作是在架構層次而非獲取服務的類上應用很多SOLID原則。微服務架構是個很有趣的概念,它的主要作用是將功能分解到離散的各個服務當中,從而降低系統的耦合性,并提供更加靈活的服務支持。
概念:把一個大型的單個應用程序和服務拆分為數個甚至數十個的支持微服務,它可擴展單個組件而不是整個的應用程序堆棧,從而滿足服務等級協議。

定義:圍繞業務領域組件來創建應用,這些應用可獨立地進行開發、管理和迭代。在分散的組件中使用云架構和平臺式部署、管理和服務功能,使產品交付變得更加簡單。本質:用一些功能比較明確、業務比較精練的服務去解決更大、更實際的問題。
先來看看傳統的web開發方式,通過對比比較容易理解什么是MicroserviceArchitecture。和Microservice相對應的,這種方式一般被稱為Monolithic(單體式開發)。所有的功能打包在一個 WAR包里,基本沒有外部依賴(除了容器),部署在一個JEE容器(Tomcat,JBoss,WebLogic)里,包含了 DO/DAO,Service,UI等所有邏輯。

官方的定義:
1、一些列的獨立的服務共同組成系統
2、單獨部署,跑在自己的進程中
3、每個服務為獨立的業務開發
4、分布式管理
5、非常強調隔離性
大概的標準:
1、分布式服務組成的系統
2、按照業務,而不是技術來劃分組織
3、做有生命的產品而不是項目
4、強服務個體和弱通信( Smart endpoints and dumb pipes )
5、自動化運維( DevOps )
6、高度容錯性
7、快速演化和迭代
更多新聞




