工業(yè)微服務(wù)架構(gòu)為工業(yè)互聯(lián)網(wǎng)平臺(tái)的知識(shí)轉(zhuǎn)化和復(fù)用提供了最佳技術(shù)手段,算法、模型、知識(shí)等模塊化組件能夠以“搭積木”的方式被調(diào)用和編排,實(shí)現(xiàn)低門檻、高效率的工業(yè)App開(kāi)發(fā)。
微服務(wù)最早由Martin Fowler與James Lewis于2014年共同提出,微服務(wù)架構(gòu)風(fēng)格是一種使用一套小服務(wù)來(lái)開(kāi)發(fā)單個(gè)應(yīng)用的方式途徑,每個(gè)服務(wù)運(yùn)行在自己的進(jìn)程中,并使用輕量級(jí)機(jī)制通信,通常是HTTP API,這些服務(wù)基于業(yè)務(wù)能力構(gòu)建,并能夠通過(guò)自動(dòng)化部署機(jī)制來(lái)獨(dú)立部署,這些服務(wù)使用不同的編程語(yǔ)言實(shí)現(xiàn),以及不同數(shù)據(jù)存儲(chǔ)技術(shù),并保持最低限度的集中式管理。
一什么是工業(yè)微服務(wù)
工業(yè)微服務(wù)是工業(yè)互聯(lián)網(wǎng)平臺(tái)的載體,是以單一功能組件為基礎(chǔ),通過(guò)模塊化組合方式實(shí)現(xiàn)“松耦合”應(yīng)用開(kāi)發(fā)的軟件架構(gòu)。一個(gè)微服務(wù)就是一個(gè)面向單一功能、能夠獨(dú)立部署的小型應(yīng)用,將多個(gè)不同功能、相互隔離的微服務(wù)按需組合在一起并通過(guò)API集實(shí)現(xiàn)相互通信,就構(gòu)成了一個(gè)功能完整的大型應(yīng)用系統(tǒng)。以產(chǎn)品生產(chǎn)為例,就可將其拆解為供應(yīng)鏈管理、設(shè)備運(yùn)行狀態(tài)可視化、生產(chǎn)排程、產(chǎn)線數(shù)據(jù)分析、操作記錄等多個(gè)微服務(wù)功能模塊。
在工業(yè)互聯(lián)網(wǎng)領(lǐng)域,由于工業(yè)知識(shí)繁雜、工業(yè)應(yīng)用復(fù)雜程度高等問(wèn)題,業(yè)內(nèi)人士普遍認(rèn)為,使用微服務(wù)架構(gòu)將成為開(kāi)發(fā)工業(yè)APP的主流方式。國(guó)外主流的工業(yè)互聯(lián)網(wǎng)平臺(tái),如西門子的Mindsphere、施耐德Eco Struxure等,都通過(guò)云平臺(tái)支持工業(yè)微服務(wù)組件的開(kāi)發(fā)、部署和管理,從而達(dá)到簡(jiǎn)化工業(yè)APP開(kāi)發(fā)的目的。
二工業(yè)微服務(wù)架構(gòu)和傳統(tǒng)開(kāi)發(fā)模式區(qū)別
先來(lái)看看傳統(tǒng)的web開(kāi)發(fā)方式,一般被稱為Monolithic(單體式開(kāi)發(fā))。所有的功能打包在一個(gè) WAR包里,基本沒(méi)有外部依賴(除了容器),部署在一個(gè)JEE容器(Tomcat,JBoss,WebLogic)里,包含了 DO/DAO,Service,UI等所有邏輯。

單體架構(gòu)(Monolithic)優(yōu)缺點(diǎn)

微服務(wù)架構(gòu)與單體架構(gòu)相比較,微服務(wù)架構(gòu)恰恰彌補(bǔ)了單體架構(gòu)的不足,通過(guò)有效的拆分應(yīng)用,實(shí)現(xiàn)敏捷開(kāi)發(fā)和部署:
1、由多個(gè)獨(dú)立的微服務(wù)共同組成系統(tǒng)
2、微服務(wù)單獨(dú)部署,運(yùn)行在自己的進(jìn)程中
3、每個(gè)微服務(wù)為獨(dú)立的業(yè)務(wù)開(kāi)發(fā)
4、分布式管理
5、非常強(qiáng)調(diào)隔離性

關(guān)于微服務(wù)的一個(gè)形象表達(dá):
X軸:運(yùn)行多個(gè)負(fù)載均衡器之后的運(yùn)行實(shí)例
Y軸:將應(yīng)用進(jìn)一步分解為微服務(wù)(分庫(kù))
Z軸:大數(shù)據(jù)量時(shí),將服務(wù)分區(qū)(分表)
三工業(yè)微服務(wù)架構(gòu)的特點(diǎn)

之所以主流的工業(yè)互聯(lián)網(wǎng)平臺(tái)都將微服務(wù)架構(gòu)作為開(kāi)發(fā)工業(yè)APP的主流方式,是因?yàn)槲⒎?wù)架構(gòu)與傳統(tǒng)的架構(gòu)相比,具備兩個(gè)顯著特點(diǎn):
1、工業(yè)微服務(wù)開(kāi)發(fā)和維護(hù)具有高度靈活性
每個(gè)微服務(wù)可以由不同團(tuán)隊(duì)運(yùn)用不同語(yǔ)言和工具進(jìn)行開(kāi)發(fā)和維護(hù),任何修改、升級(jí)都不會(huì)對(duì)應(yīng)用的其他部分功能產(chǎn)生影響;而傳統(tǒng)的統(tǒng)一整體式框架下對(duì)軟件的任何修改都有可能對(duì)整個(gè)應(yīng)用產(chǎn)生意料之外的影響。
2、工業(yè)微服務(wù)運(yùn)行去中心化分布式執(zhí)行
不同微服務(wù)能夠分布式并行執(zhí)行,應(yīng)用資源占用率相對(duì)較小,且微服務(wù)間的數(shù)據(jù)和資源相互物理隔離,單個(gè)服務(wù)的故障只會(huì)導(dǎo)致單個(gè)功能的受損而不會(huì)造成整個(gè)應(yīng)用的崩潰。
四微服務(wù)支撐工業(yè)互聯(lián)網(wǎng)平臺(tái)顛覆創(chuàng)新
1、工業(yè)微服務(wù)顛覆傳統(tǒng)工業(yè)軟件研發(fā)方式
在企業(yè)里,CAD、CAE、DCS、MES、ERP、SCM等傳統(tǒng)工業(yè)應(yīng)用軟件往往是面向基礎(chǔ)的流程或服務(wù)進(jìn)行設(shè)計(jì)和研發(fā),并在部署階段根據(jù)用戶實(shí)際情況進(jìn)行調(diào)整,整個(gè)軟件研發(fā)的成本投入較大、研發(fā)周期較長(zhǎng),且不能靈活地響應(yīng)用戶個(gè)性化需求。而在工業(yè)互聯(lián)網(wǎng)平臺(tái)中,則可采用工業(yè)微服務(wù)的方式將上述軟件拆解成獨(dú)立的功能模塊,實(shí)現(xiàn)對(duì)原有生產(chǎn)體系的解構(gòu),隨后在平臺(tái)中構(gòu)建起富含各類功能與服務(wù)的微服務(wù)組件池,并按照實(shí)際需求來(lái)調(diào)用相應(yīng)的微服務(wù)組件,進(jìn)行高效率和個(gè)性化的面向用戶的工業(yè)App研發(fā),整個(gè)軟件研發(fā)的技術(shù)門檻和投入成本大大降低。原來(lái)需要專業(yè)團(tuán)隊(duì)和雄厚資金支持的精英化軟件研發(fā)開(kāi)始向大眾化研發(fā)轉(zhuǎn)變。
2、工業(yè)微服務(wù)打破工業(yè)知識(shí)封閉傳承體系
過(guò)去,工業(yè)領(lǐng)域中很多經(jīng)驗(yàn)知識(shí)都停留在老師傅、老專家的腦子里,由于個(gè)人精力和地域空間的限制,這些經(jīng)驗(yàn)知識(shí)通常只能在很小的范圍里發(fā)揮作用,而且還存在易出錯(cuò)、易流失、難推廣、難傳承等問(wèn)題。如今,當(dāng)這些老師傅、老專家將自己的經(jīng)驗(yàn)知識(shí)用軟件代碼的方式固化下來(lái),轉(zhuǎn)化為平臺(tái)中的工業(yè)微服務(wù)之后,由于平臺(tái)所具備的積累沉淀和開(kāi)放共享特性,這些經(jīng)驗(yàn)知識(shí)就變成了整個(gè)企業(yè)、整個(gè)行業(yè)的寶貴財(cái)富,能夠被更多的人分享學(xué)習(xí)和使用,創(chuàng)造出更多的價(jià)值。同時(shí),新的專業(yè)技術(shù)人員還能夠在充分消化吸收原有知識(shí)的基礎(chǔ)上實(shí)現(xiàn)進(jìn)一步提升和創(chuàng)新,推動(dòng)整個(gè)工業(yè)知識(shí)體系的傳遞延續(xù)和迭代更新。
3、工業(yè)微服務(wù)創(chuàng)造全新平臺(tái)開(kāi)放價(jià)值生態(tài)
隨著工業(yè)互聯(lián)網(wǎng)平臺(tái)中微服務(wù)組件池的構(gòu)建和行業(yè)經(jīng)驗(yàn)知識(shí)的持續(xù)積累,整個(gè)平臺(tái)既能夠?yàn)閺V大第三方開(kāi)發(fā)者提供眾多低門檻、易操作、高效率的開(kāi)發(fā)支持手段,形成以工業(yè)App開(kāi)發(fā)為核心的平臺(tái)創(chuàng)新生態(tài),也能夠?yàn)橹圃鞓I(yè)用戶提供以工業(yè)微服務(wù)為基礎(chǔ)的定制化、高可靠、可擴(kuò)展工業(yè)App或解決方案,形成以價(jià)值挖掘提升為核心的平臺(tái)應(yīng)用生態(tài)。最終,構(gòu)建出以工業(yè)互聯(lián)網(wǎng)平臺(tái)為橋梁、以工業(yè)微服務(wù)為載體的相互促進(jìn)、雙向迭代生態(tài)體系。
五工業(yè)微服務(wù)在工業(yè)互聯(lián)網(wǎng)平臺(tái)的作用
工業(yè)微服務(wù)實(shí)現(xiàn)機(jī)理模型算法的模塊化、軟件化,支撐工業(yè)互聯(lián)網(wǎng)平臺(tái)中的工業(yè)App開(kāi)發(fā)運(yùn)行。在工業(yè)互聯(lián)網(wǎng)平臺(tái)中,工業(yè)微服務(wù)正發(fā)揮著承上啟下的關(guān)鍵作用。
1、獨(dú)立調(diào)試、運(yùn)行和升級(jí),提升易用性和可維護(hù)性
基于不同行業(yè)、不同領(lǐng)域經(jīng)驗(yàn)知識(shí)所提煉出來(lái)的各類原始機(jī)理算法模型通常缺少對(duì)外調(diào)用的接口,也往往難以進(jìn)行獨(dú)立的調(diào)試、運(yùn)行和升級(jí),需要用工業(yè)微服務(wù)的方式將這些機(jī)理算法模型集成起來(lái),封裝成可獨(dú)立調(diào)試運(yùn)行的單一功能或服務(wù)模塊,提升易用性和可維護(hù)性。
2、滿足工業(yè)APP快速運(yùn)維、持續(xù)迭代和個(gè)性化定制的需要
在工業(yè)互聯(lián)網(wǎng)平臺(tái)中基于工業(yè)微服務(wù)模塊進(jìn)行工業(yè)App開(kāi)發(fā),既能夠借助工業(yè)微服務(wù)并行開(kāi)發(fā)、分布運(yùn)行的特點(diǎn),有效發(fā)揮平臺(tái)海量開(kāi)發(fā)者接入、資源彈性配置、云化部署運(yùn)行等優(yōu)勢(shì),又能夠利用工業(yè)微服務(wù)獨(dú)立隔離、靈活調(diào)用的特點(diǎn),克服工業(yè)App所面臨的快速運(yùn)維、持續(xù)迭代、個(gè)性化定制等問(wèn)題。
3、無(wú)需專業(yè)知識(shí),平臺(tái)調(diào)用工業(yè)微服務(wù)開(kāi)發(fā)工業(yè)APP
工業(yè)互聯(lián)網(wǎng)平臺(tái)發(fā)展的核心目標(biāo)是通過(guò)行業(yè)經(jīng)驗(yàn)知識(shí)的積累沉淀和復(fù)用推廣來(lái)帶動(dòng)產(chǎn)業(yè)整體水平的提升,并打造繁榮創(chuàng)新的開(kāi)放價(jià)值生態(tài)。而工業(yè)微服務(wù)能夠?qū)I(yè)知識(shí)和IT技術(shù)融合起來(lái),變成不需要關(guān)心實(shí)現(xiàn)細(xì)節(jié)的“黑盒”,開(kāi)發(fā)者甚至不需要任何專業(yè)知識(shí),就可通過(guò)調(diào)用平臺(tái)中各類工業(yè)微服務(wù)的方式開(kāi)發(fā)出解決行業(yè)問(wèn)題的工業(yè)App。
4、工業(yè)微服務(wù)具有通用化共享能力,便于復(fù)制和應(yīng)用推廣
在此基礎(chǔ)上,平臺(tái)將原來(lái)處于企業(yè)內(nèi)部的封閉性專業(yè)能力轉(zhuǎn)化為面向行業(yè)和社會(huì)的通用化共享能力,實(shí)現(xiàn)在工業(yè)微服務(wù)能力復(fù)制和應(yīng)用推廣,從而成為服務(wù)行業(yè)、服務(wù)區(qū)域的發(fā)動(dòng)機(jī)和助推器。
六結(jié)語(yǔ)
工業(yè)微服務(wù)本質(zhì)是經(jīng)驗(yàn)知識(shí)的軟件化和工具化,借助專業(yè)化的工具打造通用化的平臺(tái)。工業(yè)微服務(wù)架構(gòu)為工業(yè)互聯(lián)網(wǎng)平臺(tái)的知識(shí)轉(zhuǎn)化和復(fù)用提供了最佳技術(shù)手段,算法、模型、知識(shí)等模塊化組件能夠以“搭積木”的方式被調(diào)用和編排,實(shí)現(xiàn)低門檻、高效率的工業(yè)App開(kāi)發(fā),驅(qū)動(dòng)了工業(yè)軟件開(kāi)發(fā)方式的變革,促進(jìn)了平臺(tái)創(chuàng)新生態(tài)的形成,工業(yè)微服務(wù)能力構(gòu)建已經(jīng)成為當(dāng)前工業(yè)互聯(lián)網(wǎng)平臺(tái)發(fā)展的首要任務(wù)。
-
數(shù)據(jù)存儲(chǔ)
+關(guān)注
關(guān)注
5文章
1038瀏覽量
53020 -
工業(yè)互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
28文章
4397瀏覽量
96419
原文標(biāo)題:工業(yè)微服務(wù)實(shí)現(xiàn)工業(yè)APP高效開(kāi)發(fā)和運(yùn)行
文章出處:【微信號(hào):IndustryIOT,微信公眾號(hào):工業(yè)互聯(lián)網(wǎng)前線】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
開(kāi)通App Linking服務(wù)
Springboot+SpringData+SpringCloud微服務(wù)架構(gòu)課程
嵌入式AI開(kāi)發(fā)必看:杜絕幻覺(jué),才是工業(yè)級(jí)IDE的核心底氣
華納云VPS容器服務(wù)網(wǎng)格流量管理:實(shí)現(xiàn)微服務(wù)高效路由
飛騰主板推動(dòng)智能化、高效化的工業(yè)運(yùn)行發(fā)展環(huán)境
滾珠導(dǎo)軌在工業(yè)制造領(lǐng)域如何實(shí)現(xiàn)高效運(yùn)行?
如何基于Nginx構(gòu)建微服務(wù)網(wǎng)關(guān)
電商API的微服務(wù)架構(gòu)優(yōu)化策略
如何部署流媒體服務(wù)實(shí)現(xiàn)監(jiān)控功能--基于米爾TI AM62x開(kāi)發(fā)板
工業(yè)微服務(wù)實(shí)現(xiàn)工業(yè)APP高效開(kāi)發(fā)和運(yùn)行
評(píng)論