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