微服務(wù)最早由Martin Fowler與James Lewis于2014年共同提出,微服務(wù)架構(gòu)風格是一種使用一套小服務(wù)來開發(fā)單個應(yīng)用的方式途徑,每個服務(wù)運行在自己的進程中,并使用輕量級機制通信,通常是HTTP API,這些服務(wù)基于業(yè)務(wù)能力構(gòu)建,并能夠通過自動化部署機制來獨立部署,這些服務(wù)使用不同的編程語言實現(xiàn),以及不同數(shù)據(jù)存儲技術(shù),并保持最低限度的集中式管理。
一、什么是工業(yè)微服務(wù)
工業(yè)微服務(wù)是工業(yè)互聯(lián)網(wǎng)平臺的載體,是以單一功能組件為基礎(chǔ),通過模塊化組合方式實現(xiàn)“松耦合”應(yīng)用開發(fā)的軟件架構(gòu)。一個微服務(wù)就是一個面向單一功能、能夠獨立部署的小型應(yīng)用,將多個不同功能、相互隔離的微服務(wù)按需組合在一起并通過API集實現(xiàn)相互通信,就構(gòu)成了一個功能完整的大型應(yīng)用系統(tǒng)。以產(chǎn)品生產(chǎn)為例,就可將其拆解為供應(yīng)鏈管理、設(shè)備運行狀態(tài)可視化、生產(chǎn)排程、產(chǎn)線數(shù)據(jù)分析、操作記錄等多個微服務(wù)功能模塊。
在工業(yè)互聯(lián)網(wǎng)領(lǐng)域,由于工業(yè)知識繁雜、工業(yè)應(yīng)用復(fù)雜程度高等問題,業(yè)內(nèi)人士普遍認為,使用微服務(wù)架構(gòu)將成為開發(fā)工業(yè)APP的主流方式。國外主流的工業(yè)互聯(lián)網(wǎng)平臺,如西門子的Mindsphere、施耐德Eco Struxure等,都通過云平臺支持工業(yè)微服務(wù)組件的開發(fā)、部署和管理,從而達到簡化工業(yè)APP開發(fā)的目的。
二、工業(yè)微服務(wù)架構(gòu)和傳統(tǒng)開發(fā)模式區(qū)別
先來看看傳統(tǒng)的web開發(fā)方式,一般被稱為Monolithic(單體式開發(fā))。所有的功能打包在一個 WAR包里,基本沒有外部依賴(除了容器),部署在一個JEE容器(Tomcat,JBoss,WebLogic)里,包含了 DO/DAO,Service,UI等所有邏輯。
三、微服務(wù)的特點
● 解耦:同一系統(tǒng)內(nèi)的服務(wù)大部分可以被解耦。因此應(yīng)用,作為一個整體,可以輕易地被構(gòu)建、修改和擴展。
● 組件化:微服務(wù)可以被看成相互獨立的組件,這些組件可以被輕易地替換和升級。
● 業(yè)務(wù)能力:微服務(wù)很小,它們可以專注于某種單一的能力
● 自治:開發(fā)者和團隊可以獨立地工作,提高開發(fā)速度。
● 持續(xù)交付:允許持續(xù)發(fā)布軟件新版本,通過系統(tǒng)化的自動手段來創(chuàng)建、測試和批準新版本。
● 職責明確:微服務(wù)不把應(yīng)用看成一個又一個的項目。相反,它們把應(yīng)用當成了自己需要負責的項目。
● 去中心化管理:關(guān)注于使用正確的工具來完成正確的工作。這也就是說,沒有標準化的方式或者技術(shù)模式。開發(fā)者們有權(quán)選擇最好的工具來解決問題。
● 敏捷性:微服務(wù)支持敏捷開發(fā)。任何新功能都可以被快速開發(fā)或丟棄。
四、 微服務(wù)架構(gòu)的優(yōu)勢
● 獨立開發(fā):基于各個微服務(wù)所獨有的功能,它們可以被輕易開發(fā)出來。
● 獨立部署:基于它們所提供的服務(wù),它們可以被獨立地部署到應(yīng)用中。
● 錯誤隔離:即便其中某個服務(wù)發(fā)生了故障,整個系統(tǒng)還可以繼續(xù)工作。
● 混合技術(shù)棧:可以使用不同的語言和技術(shù)來為同一個應(yīng)用構(gòu)建不同的服務(wù)。
● 按粒度擴展:可以根據(jù)需求擴展某一個組件,不需要將所有組件全部擴展。
關(guān)于我們 | About zj123 |法律聲明 | 友情鏈接 | 建議留言 | 網(wǎng)站地圖 | 聯(lián)系我們 | 最新資訊
客服:0571-87896971 客服傳真:0571-87298208 543059767
1091140425
中國電子商務(wù)網(wǎng)站百強 © 2002-2012 zj123.com All Rights Reserved
浙ICP備11047537號-1