當(dāng)前位置:新聞動(dòng)態(tài)>技術(shù)分享>新聞?wù)?/span>
2018-06-20/技術(shù)分享
微服務(wù)架構(gòu)(Microservice Architecture)是一種架構(gòu)概念,旨在通過將功能分解到各個(gè)離散的服務(wù)中以實(shí)現(xiàn)對(duì)解決方案的解耦。你可以將其看作是在架構(gòu)層次而非獲取服務(wù)的類上應(yīng)用很多SOLID原則。微服務(wù)架構(gòu)是個(gè)很有趣的概念,它的主要作用是將功能分解到離散的各個(gè)服務(wù)當(dāng)中,從而降低系統(tǒng)的耦合性,并提供更加靈活的服務(wù)支持。
概念:把一個(gè)大型的單個(gè)應(yīng)用程序和服務(wù)拆分為數(shù)個(gè)甚至數(shù)十個(gè)的支持微服務(wù),它可擴(kuò)展單個(gè)組件而不是整個(gè)的應(yīng)用程序堆棧,從而滿足服務(wù)等級(jí)協(xié)議。
定義:圍繞業(yè)務(wù)領(lǐng)域組件來創(chuàng)建應(yīng)用,這些應(yīng)用可獨(dú)立地進(jìn)行開發(fā)、管理和迭代。在分散的組件中使用云架構(gòu)和平臺(tái)式部署、管理和服務(wù)功能,使產(chǎn)品交付變得更加簡(jiǎn)單。本質(zhì):用一些功能比較明確、業(yè)務(wù)比較精練的服務(wù)去解決更大、更實(shí)際的問題。
先來看看傳統(tǒng)的web開發(fā)方式,通過對(duì)比比較容易理解什么是MicroserviceArchitecture。和Microservice相對(duì)應(yīng)的,這種方式一般被稱為Monolithic(單體式開發(fā))。所有的功能打包在一個(gè) WAR包里,基本沒有外部依賴(除了容器),部署在一個(gè)JEE容器(Tomcat,JBoss,WebLogic)里,包含了 DO/DAO,Service,UI等所有邏輯。
官方的定義:
1、一些列的獨(dú)立的服務(wù)共同組成系統(tǒng)
2、單獨(dú)部署,跑在自己的進(jìn)程中
3、每個(gè)服務(wù)為獨(dú)立的業(yè)務(wù)開發(fā)
4、分布式管理
5、非常強(qiáng)調(diào)隔離性
大概的標(biāo)準(zhǔn):
1、分布式服務(wù)組成的系統(tǒng)
2、按照業(yè)務(wù),而不是技術(shù)來劃分組織
3、做有生命的產(chǎn)品而不是項(xiàng)目
4、強(qiáng)服務(wù)個(gè)體和弱通信( Smart endpoints and dumb pipes )
5、自動(dòng)化運(yùn)維( DevOps )
6、高度容錯(cuò)性
7、快速演化和迭代
更多新聞