劉卓識
(中國中煤能源集團(tuán)有限公司,北京 100120)
社會的發(fā)展帶動云計(jì)算技術(shù)、物聯(lián)網(wǎng)技術(shù)的進(jìn)步,同時(shí)各類社會生產(chǎn)生活對不同軟件系統(tǒng)的需求不斷提升,用戶需求也朝著多樣化、個(gè)性化方向發(fā)展。為使得用戶需求可以在最大程度上得到滿足,很多軟件企業(yè)開始放開軟件產(chǎn)品,積極鼓勵(lì)各個(gè)參與方參與到軟件開發(fā)工作以及軟件系統(tǒng)維護(hù)工作中,比如,上游相關(guān)企業(yè)、外部開發(fā)者,用戶都可以參與相關(guān)工作。采用該種方式能夠進(jìn)一步實(shí)現(xiàn)軟件產(chǎn)業(yè)垂直分工,推動整合工作的更好落實(shí),完善軟件生態(tài)系統(tǒng)。在這一過程中,微服務(wù)技術(shù)還在企業(yè)數(shù)字化建設(shè)中發(fā)揮著重要作用,使得企業(yè)能夠跟上時(shí)代發(fā)展步伐,滿足社會市場需求[1]。因此,本文將針對微服務(wù)技術(shù)發(fā)展現(xiàn)狀與展望進(jìn)行相應(yīng)闡述。
對于微服務(wù)核心組件分析,本文主要從以下幾點(diǎn)進(jìn)行闡述。
微服務(wù)需要遵循輕量級通信原則開展各環(huán)節(jié)工作,要在輕量級容器中進(jìn)行單個(gè)微服務(wù)安裝,比如,Docker輕量級容器。在具體運(yùn)行中服務(wù)實(shí)例隨時(shí)隨地可能會出現(xiàn)被銷毀、被克隆、被重新定位等情況。針對這一情況,在服務(wù)實(shí)例動態(tài)變化期間,進(jìn)行服務(wù)機(jī)制創(chuàng)建,這樣可以實(shí)現(xiàn)對彼此之間的感知。在服務(wù)發(fā)現(xiàn)機(jī)制中,服務(wù)注冊中心是其中一項(xiàng)重點(diǎn)內(nèi)容。在服務(wù)啟動期間,相關(guān)數(shù)據(jù)信息以及網(wǎng)絡(luò)地址會上傳給注冊重點(diǎn),并對消費(fèi)服務(wù)進(jìn)行明確。因?yàn)榉?wù)注冊中心從某種意義上而言屬于服務(wù)發(fā)現(xiàn)重點(diǎn)內(nèi)容,要擁有可用性特點(diǎn)與實(shí)用性特點(diǎn)。為消費(fèi)者提供不同服務(wù),比如,路由轉(zhuǎn)發(fā)信息存儲服務(wù)、消費(fèi)者統(tǒng)一資源定位器服務(wù)等,與此同時(shí),還可以完善服務(wù)注冊功能、發(fā)布功能等。例如,谷歌公司研發(fā)出的維護(hù)注冊中心Consul,擁有較為完善的功能,Consu可以將其作為發(fā)現(xiàn)工具與配置工具使用,Consul可以提供有效的客戶端注冊服務(wù)與發(fā)現(xiàn)服務(wù)的API,更好實(shí)現(xiàn)服務(wù)健康檢查。在這一過程中,分布式系統(tǒng)中的數(shù)據(jù)一致性問題可以得到更好解決[2]。
為全方位提升服務(wù)有效性,微服務(wù)需要做好不同服務(wù)實(shí)例部署工作,這樣才能為各項(xiàng)工作的開展提供有效保障。在服務(wù)多個(gè)實(shí)例期間,對于服務(wù)實(shí)例的有效選用、將業(yè)務(wù)等待時(shí)間控制在有效范圍內(nèi),是當(dāng)前發(fā)展中面臨的一個(gè)重要問題。為促使這一問題可以得到更好解決,要給予負(fù)載均衡更多重視,負(fù)載均衡通常會被分為客戶端負(fù)載均衡、服務(wù)端負(fù)載均衡兩種類型,在這一過程中,要結(jié)合實(shí)際情況合理選用服務(wù)負(fù)載均衡策略。負(fù)載均衡具有很多種實(shí)現(xiàn)算法,其中具有代表性的就是輪詢法。輪詢法的基本思想是,多個(gè)不同可用服務(wù)實(shí)例形成一個(gè)循環(huán)列隊(duì),接著按照實(shí)例順序情況,給內(nèi)部服務(wù)器進(jìn)行輪流分布,從第一個(gè)服務(wù)器到第N個(gè)服務(wù)器。該種方式更加適合將其應(yīng)用在配置基本相同,同時(shí)服務(wù)平均請求相對均衡的環(huán)境中。如果服務(wù)實(shí)例性能方面存在很大差異,那么可以采取加權(quán)輪詢法。也就是說,根據(jù)服務(wù)器在不同情況下所具備的處理能力,要做好不同服務(wù)器的權(quán)重分配工作,保證權(quán)重分配合理性,從而更好響應(yīng)權(quán)值數(shù)服務(wù)請求。
采用均衡算法提升高性能服務(wù)器利用效率,減少服務(wù)器負(fù)載過重情況,將不同問題控制在有效范圍內(nèi)。在具體應(yīng)用期間客戶端每一次請求服務(wù),服務(wù)器的具體響應(yīng)時(shí)間都存在不同。在此背景下,可以使用最小連接數(shù)算法方式。這一算法可以詳細(xì)記錄服務(wù)器可負(fù)載實(shí)例數(shù)量與服務(wù)器的處理進(jìn)程數(shù)量[3]。
先進(jìn)技術(shù)的不斷完善,促使分布式系統(tǒng)得以優(yōu)化,這在一定程度上對于應(yīng)用程序有著更高需求。服務(wù)器整體體系結(jié)構(gòu)在某種程度上發(fā)生改變,但仍然無法滿足應(yīng)用程序的飛速增長。基于此,需要面對服務(wù)體系結(jié)構(gòu)創(chuàng)建客戶端服務(wù)體系結(jié)構(gòu)。在從功能角度分析中,SOA架構(gòu)服務(wù)之間具備較強(qiáng)依賴性,也因此形成很多不同功能。服務(wù)組件中有一部分組件具備很多不同功能。因此,SOA屬于整體式系統(tǒng),無法更好實(shí)現(xiàn)客戶在彈性等方面的需求。在此背景下,微服務(wù)體系結(jié)構(gòu)要合理應(yīng)用自身靈活性優(yōu)勢與占用資源少優(yōu)勢,從而滿足商業(yè)系統(tǒng)發(fā)展需求。系統(tǒng)通過微服務(wù)能夠?qū)崿F(xiàn)對不同技術(shù)的應(yīng)用,促使不同編程語言的應(yīng)用需求滿足。在這一過程中,微服務(wù)之間能夠?qū)崿F(xiàn)相互獨(dú)立與及時(shí)更新,利用大型虛擬機(jī)進(jìn)行運(yùn)行。但需要注意的是大型虛擬機(jī)在配置過程中,需要消耗很多時(shí)間與精力,管理程序?qū)有枰惺芎艽筮\(yùn)載負(fù)荷。在這一問題的解決中,需要相關(guān)工作人員能夠?qū)θ萜骷夹g(shù)進(jìn)行合理應(yīng)用。容器技術(shù)能夠?yàn)槌绦蛱峁┯行Х指羁臻g,并且可以不開展程序?qū)庸芾砉ぷ?,?shí)現(xiàn)對虛擬機(jī)的合理控制。容器技術(shù)如今也得到不斷完善,Docker可以實(shí)現(xiàn)輕量級容器技術(shù)的研發(fā),將服務(wù)項(xiàng)與依賴項(xiàng)打包成為單個(gè)映像特性,并發(fā)揮其代碼移植優(yōu)勢。不同微服務(wù)都在容器內(nèi),基于此,要加強(qiáng)對調(diào)度程序的應(yīng)用,實(shí)現(xiàn)對微服務(wù)之間事務(wù)一致性的相互協(xié)調(diào),因此會形成集群管理器,主要任務(wù)是對主機(jī)與對應(yīng)容器進(jìn)行確認(rèn)。因?yàn)樵诓煌萜髦蟹植嘉⒎?wù),可以實(shí)現(xiàn)輕量級通信。加強(qiáng)對HTTP特性的應(yīng)用,促使REST API能夠形成適合微服務(wù)的信息交換機(jī)制,并使用不同語言格式,例如,XML格式、JSCN格式等。在如今網(wǎng)絡(luò)化與集群計(jì)算時(shí)代發(fā)展中,利用監(jiān)控工具能夠?qū)崿F(xiàn)對性能的監(jiān)控,以及對數(shù)據(jù)中心級別層次的監(jiān)督,但無法實(shí)現(xiàn)對服務(wù)層次的控制?;诖?,對微服務(wù)、數(shù)據(jù)中心資源整體技術(shù)進(jìn)行整合與收集,成為當(dāng)前發(fā)展面臨的一個(gè)重要問題。針對這一問題,需要有關(guān)部門以及相關(guān)工作人員能夠加強(qiáng)重視程度,這樣能夠推動微服務(wù)技術(shù)的更好發(fā)展,帶動相關(guān)行業(yè)進(jìn)步[4]。
微服務(wù)信息交互期間攻擊者如果對單個(gè)服務(wù)器進(jìn)行控制,那么該服務(wù)很有可能會對其他系統(tǒng)服務(wù)產(chǎn)生惡意影響。針對這一情況,微服務(wù)架構(gòu)要做好不同微服務(wù)信息交流情況驗(yàn)證工作,驗(yàn)證信息的真實(shí)性與正確性。針對服務(wù)信息交互認(rèn)證權(quán)限中的最低權(quán)限與必要權(quán)限,可以直接將其分配給用戶,這樣權(quán)限才能發(fā)揮出自身作用。在對攻擊者破壞系統(tǒng)行為的控制中,要對謹(jǐn)慎授權(quán)訪問權(quán)限進(jìn)行合理利用。如果從授權(quán)協(xié)議角度出發(fā),在SaaS應(yīng)用程序認(rèn)證協(xié)議當(dāng)中通常情況下會使用輕量級目錄訪問協(xié)議。利用LDAP促使服務(wù)能有效存儲相對靜態(tài)授權(quán)信息,可以將其應(yīng)用在一次記錄,以及多次應(yīng)用場景中。樹結(jié)構(gòu)的LDAP在數(shù)據(jù)結(jié)構(gòu)方面,可以將組織結(jié)構(gòu)信息更加有效、清晰地描述出來,使得目錄訪問協(xié)議得到簡化。
在系統(tǒng)內(nèi)部共享資源過程中很多學(xué)者認(rèn)為要?jiǎng)?chuàng)建層次結(jié)構(gòu)方式,實(shí)現(xiàn)可表達(dá)與可伸縮。為更好實(shí)現(xiàn)對層次性訪問的有效控制,要加強(qiáng)對網(wǎng)絡(luò)安全基礎(chǔ)設(shè)施的應(yīng)用,
比如,可以采用私鑰保護(hù)方式、通信加密方式等。分布式管理機(jī)制社區(qū)授權(quán)服務(wù)模型與傳統(tǒng)傳授系統(tǒng)相比較而言,可以落實(shí)全面維護(hù)工作,而且資源控制工作也能夠得到更好落實(shí),系統(tǒng)自身能夠具備較強(qiáng)的可擴(kuò)展性特點(diǎn)與靈活性特點(diǎn)。還有一部分學(xué)者認(rèn)為需要在模塊化基礎(chǔ)之上創(chuàng)建微服務(wù)架構(gòu),采用計(jì)費(fèi)、動態(tài)評價(jià)等不同方式,為云服務(wù)提供相應(yīng)驗(yàn)證接口,為促使整個(gè)過程的安全性得到保障,要對網(wǎng)絡(luò)功能虛擬化等不同先進(jìn)技術(shù)進(jìn)行合理應(yīng)用。例如,使用微服務(wù)框架。微服務(wù)框架擁有不同安全優(yōu)勢,例如,通過虛擬化安全服務(wù)功能、安全功能的發(fā)揮,框架在具體應(yīng)用過程中,針對用戶、供應(yīng)商可以提供有效解決措施與安全防護(hù)方案??刂凭W(wǎng)絡(luò)層訪問,這就需要將防火墻技術(shù)優(yōu)勢發(fā)揮出來,針對實(shí)際訪問情況進(jìn)行全面控制。微服務(wù)框架OAuth的應(yīng)用,保證權(quán)限安全,OAuth框架還可以授權(quán)第三方訪問用戶賬戶、用戶身份,第三方網(wǎng)站在獲取用戶身份信息時(shí),通常情況下是利用訪問用戶賬戶臨時(shí)密匙,因此,很有可能會造成用戶私人信息泄露問題?;诖?,微服務(wù)技術(shù)在對應(yīng)接口認(rèn)證權(quán)限方面,仍然需要做好進(jìn)一步調(diào)整工作,在最大程度上保證用戶信息安全,防止信息泄漏等問題出現(xiàn)。除此之外,針對信息安全問題,可以采用信息加密技術(shù),比如,使用對稱加密方式以及不對稱加密方式等。不同加密方式有著屬于自身的特點(diǎn)與優(yōu)勢,這就需要相關(guān)工作人員針對不同加密方式有正確認(rèn)識,結(jié)合實(shí)際情況將不同信息加密方式優(yōu)勢發(fā)揮出來,這樣才能促使數(shù)據(jù)信息以及用戶信息安全得到保障[5]。
在保障微服務(wù)數(shù)據(jù)安全中,要加強(qiáng)對微服務(wù)架構(gòu)的應(yīng)用,將其應(yīng)用在云環(huán)境中。在微服務(wù)中分布式數(shù)據(jù)隱私數(shù)據(jù)保護(hù),以及數(shù)據(jù)保密性受到更多重視與關(guān)注,有很多學(xué)者會通過傳統(tǒng)密碼加密方式,對數(shù)據(jù)信息進(jìn)行加密。加密技術(shù)通常情況下會被分為兩種類型,一種是對稱加密方式,另一種是非對稱加密方式。對稱加密技術(shù)主要是利用加密密鑰,實(shí)現(xiàn)對原始數(shù)據(jù)的加密。非對稱加密方式是利用公有密鑰或者私有密鑰,實(shí)現(xiàn)對原始數(shù)據(jù)的加密,只有相應(yīng)的公有密鑰與私有密鑰才能實(shí)現(xiàn)對數(shù)據(jù)的解密。通常情況下,加密密鑰越短,加密信息安全性越低,因此,可以適當(dāng)提升加密密鑰長度,促使數(shù)據(jù)信息安全性可以得到全面提升。在加密與解密過程中,會形成相對較大的性能開銷,針對這一情況,需要對微服務(wù)模型數(shù)據(jù)具體應(yīng)用場景,以及部分敏感數(shù)據(jù)信息保護(hù)進(jìn)行充分考慮,確??梢栽谟?jì)算復(fù)雜度與數(shù)據(jù)安全保護(hù)中實(shí)現(xiàn)平衡。如果從提升數(shù)據(jù)安全性角度進(jìn)行分析,那么可以加強(qiáng)對第三方審計(jì)協(xié)議的應(yīng)用,用戶自身可以對風(fēng)險(xiǎn)進(jìn)行全面評估,并給出相應(yīng)預(yù)防措施與解決措施,盡量避免風(fēng)險(xiǎn)問題的出現(xiàn)。還可以采用在線存儲內(nèi)部服務(wù)方法,與外部審計(jì)數(shù)據(jù)隱私方法等。審計(jì)工作開展的主要目的是,對服務(wù)器與網(wǎng)絡(luò)用戶行為信息進(jìn)行監(jiān)督,如果發(fā)現(xiàn)違反安全規(guī)定的信息行為,那么需要立即報(bào)告相關(guān)管理人員,實(shí)現(xiàn)對問題的更好解決。微服務(wù)往往采用的是分布式方式,通俗來講就是,擁有很多不同數(shù)據(jù)服務(wù)平臺,針對不同數(shù)據(jù)的不同來源要加強(qiáng)保護(hù)。在數(shù)據(jù)保護(hù)中,可以從數(shù)據(jù)可靠性、數(shù)據(jù)完整性與數(shù)據(jù)真實(shí)性角度出發(fā)。比如,在確保數(shù)據(jù)安全中,可以創(chuàng)建數(shù)據(jù)源管理系統(tǒng),該管理系統(tǒng)要具備驗(yàn)證性特點(diǎn)、可問責(zé)性特點(diǎn)以及可生產(chǎn)性特點(diǎn)等,其中可驗(yàn)證性是指,管理體系要對相關(guān)參與者數(shù)據(jù)源進(jìn)行驗(yàn)證。這樣可以及時(shí)發(fā)現(xiàn)數(shù)據(jù)存在的異常情況,并給出針對性處理措施。
綜上所述,針對微服務(wù)技術(shù)發(fā)展,需要我國有關(guān)部門以及相關(guān)工作人員能夠給予更多重視與關(guān)注。在微服務(wù)技術(shù)發(fā)展過程中,要將加強(qiáng)基礎(chǔ)設(shè)施建設(shè)、加強(qiáng)信息交互等作為重點(diǎn)與關(guān)鍵。實(shí)現(xiàn)系統(tǒng)自身的安全穩(wěn)定運(yùn)行,進(jìn)一步強(qiáng)化系統(tǒng)內(nèi)聚性,這樣可以節(jié)約更多服務(wù)交互成本,不斷提升服務(wù)的靈活性與有效性,促使微服務(wù)技術(shù)可以朝著更好方向發(fā)展。