• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      分布式中間件的發(fā)展之道

      2020-01-11 01:15李磊劉相李航
      軟件和集成電路 2020年12期
      關(guān)鍵詞:中間件網(wǎng)絡(luò)通信分布式

      李磊 劉相 李航

      海量的請求、龐大的數(shù)據(jù)、不斷推陳出新的業(yè)務(wù),從各個(gè)方面促使企業(yè)進(jìn)行IT建設(shè)升級。微服務(wù)架構(gòu)被認(rèn)為是未來建設(shè)新一代分布式架構(gòu)應(yīng)用的方向,可以更容易升級和擴(kuò)展,并部署在云環(huán)境中。

      隨著數(shù)字化轉(zhuǎn)型的迅猛發(fā)展,公司、組織業(yè)務(wù)不斷擴(kuò)張,需求爆炸式增長、用戶量不斷增加,傳統(tǒng)單體架構(gòu)已經(jīng)無法適應(yīng)云計(jì)算環(huán)境下的快速變化。海量的請求、龐大的數(shù)據(jù)、不斷推陳出新的業(yè)務(wù),也在從各個(gè)方面促使企業(yè)進(jìn)行IT建設(shè)升級。微服務(wù)架構(gòu)被認(rèn)為是未來建設(shè)新一代分布式架構(gòu)應(yīng)用的方向,通過將應(yīng)用和服務(wù)分解成更小的、松散耦合的組件,微服務(wù)架構(gòu)可以更加容易升級和擴(kuò)展,并部署在云環(huán)境中。

      但企業(yè)在建設(shè)新一代分布式架構(gòu)應(yīng)用時(shí)遇到了新的問題,這些問題困擾著企業(yè)的數(shù)字化轉(zhuǎn)型。

      分布式架構(gòu)跨越內(nèi)部網(wǎng)絡(luò)、外部網(wǎng)絡(luò),從內(nèi)部系統(tǒng)間的服務(wù)通信編排,流轉(zhuǎn)到外部服務(wù)調(diào)用。如何保證數(shù)據(jù)的一致性?面對層出不窮的各種架構(gòu)解決方案,如何驗(yàn)證并適應(yīng)市場快速的變動(dòng)?如何快速收集市場需求并將之有效地傳達(dá)給開發(fā)部門,服務(wù)上下線?整個(gè)生命周期運(yùn)維團(tuán)隊(duì)如何適應(yīng)新的分布式應(yīng)用?

      一方面,分布式系統(tǒng)的建設(shè)對需求、研發(fā)、測試和運(yùn)維等環(huán)節(jié)帶來了諸多新的挑戰(zhàn),企業(yè)迫切需要一套工程化的敏捷交付方法來支撐微服務(wù)應(yīng)用建設(shè)的各個(gè)階段,加速云應(yīng)用的交付。另一方面,分布式架構(gòu)應(yīng)用的建設(shè)較原來的單體應(yīng)用更加復(fù)雜。大量業(yè)務(wù)系統(tǒng)逐步走向分布式的同時(shí),企業(yè)應(yīng)用也更多的從服務(wù)內(nèi)部用戶逐步轉(zhuǎn)向?yàn)榉?wù)外部客戶。在這個(gè)轉(zhuǎn)變的過程中暴露出了各種各樣的問題。

      分布式中間件的迅猛發(fā)展可以協(xié)助企業(yè)進(jìn)行數(shù)字化轉(zhuǎn)型,但分布式中間件本身還處于不斷完善升級的過程,無法滿足企業(yè)業(yè)務(wù)快速變化的訴求,進(jìn)而影響了企業(yè)數(shù)字化轉(zhuǎn)型的步伐。

      分布式系統(tǒng)建設(shè)的痛點(diǎn)與訴求

      從單節(jié)點(diǎn)應(yīng)用向分布式應(yīng)用改造時(shí),我們會(huì)發(fā)現(xiàn)業(yè)務(wù)代碼與技術(shù)組件是一種強(qiáng)耦合關(guān)系。如在網(wǎng)絡(luò)方面進(jìn)行調(diào)用時(shí),業(yè)務(wù)代碼要大量耦合各種網(wǎng)絡(luò)調(diào)用的服務(wù),此時(shí)就存在問題—如果中間件服務(wù)發(fā)生了變化,業(yè)務(wù)應(yīng)用也需要相應(yīng)的進(jìn)行改造。此外,在集成層面,業(yè)務(wù)的處理需要跨多個(gè)系統(tǒng)進(jìn)行調(diào)用,此時(shí)會(huì)依賴企業(yè)服務(wù)總線等中間件進(jìn)行服務(wù)的編排,這種編排也強(qiáng)耦合在業(yè)務(wù)代碼中。這些原因?qū)е铝藰I(yè)務(wù)代碼與中間件服務(wù)之間的強(qiáng)耦合關(guān)系,導(dǎo)致任何一方的升級或者變化都會(huì)直接影響到對方。因此針對分布式應(yīng)用建設(shè)的核心痛點(diǎn)是不同服務(wù)間的網(wǎng)絡(luò)通信。

      除網(wǎng)絡(luò)通信外,在分布式應(yīng)用系統(tǒng)建設(shè)過程中還會(huì)涉及業(yè)務(wù)集成、狀態(tài)管理、生命周期等維度,下面我們將從這四個(gè)維度分析分布式應(yīng)用對分布式中間件帶來的挑戰(zhàn),找到其中的關(guān)鍵因素,探索分布式中間件的訴求。

      網(wǎng)絡(luò)通信

      分布式應(yīng)用基于其架構(gòu)特點(diǎn),需要做到:能夠方便地進(jìn)行本身的注冊,可以讓其他應(yīng)用了解這里所具有的服務(wù)能力,并讓對方進(jìn)行調(diào)用。在注冊的同時(shí),能發(fā)現(xiàn)分布式體系中的其他服務(wù),并且可以根據(jù)實(shí)際業(yè)務(wù)的不同,將數(shù)據(jù)通過業(yè)務(wù)路由發(fā)送到正確的服務(wù)節(jié)點(diǎn)并獲取相關(guān)數(shù)據(jù)。在整個(gè)分布式體系中,需要確保網(wǎng)絡(luò)的可用性,業(yè)務(wù)層需要響應(yīng)業(yè)務(wù)請求,而分布式中間件本身要完好地支撐業(yè)務(wù)網(wǎng)絡(luò)間的信息通信安全,比如保障數(shù)據(jù)加密安全等。此外,分布式應(yīng)用還需要擁有完善的可靠保證,在運(yùn)行期間根據(jù)業(yè)務(wù)量、網(wǎng)絡(luò)情況、服務(wù)負(fù)載能力進(jìn)行自動(dòng)化調(diào)整,避免被“浪涌”沖垮,或者在長時(shí)間請求無法得到響應(yīng)的情況下執(zhí)行多種的重試機(jī)制,以保證整體服務(wù)鏈路的可用性。

      目前,分布式應(yīng)用開發(fā)、網(wǎng)絡(luò)通信基礎(chǔ)能力均是依賴分布式中間件的開發(fā)框架。分布式中間件能夠提供的能力越來越豐富,并且支持在運(yùn)維期進(jìn)行各種網(wǎng)絡(luò)策略的調(diào)整、業(yè)務(wù)路由的配置等。但開發(fā)人員被分布式中間件開發(fā)框架束縛,如果企業(yè)采用了某種特定的分布式開發(fā)框架,則在業(yè)務(wù)代碼中不可辨免地導(dǎo)致分布式應(yīng)用與提供網(wǎng)絡(luò)通信能力的分布式開發(fā)框架強(qiáng)耦合,使得開發(fā)人員不能聚焦在業(yè)務(wù)處理上。

      業(yè)務(wù)集成

      分布式應(yīng)用一方面涉及企業(yè)內(nèi)部的多系統(tǒng)、多業(yè)務(wù)請求,另一方面也會(huì)調(diào)用外部服務(wù),導(dǎo)致大量的服務(wù)編排。由于各種歷史原因,不同的系統(tǒng)可能采用了不同的通信協(xié)議、報(bào)文格式,它們需要在服務(wù)編排過程中,對不同的協(xié)議、報(bào)文格式進(jìn)行編碼轉(zhuǎn)換。固然現(xiàn)在多數(shù)的企業(yè)服務(wù)總線提供了靈活的配置,但仍有大量的編排工作需要開發(fā)人員處理。

      此外,企業(yè)還需要在分布式應(yīng)用內(nèi)考慮大量非功能性的場景,比如事務(wù)一致性、可靠機(jī)制、出錯(cuò)后的重試、異常處理等多種技術(shù)上的復(fù)雜情況。例如客戶在進(jìn)行一次性涉及多個(gè)商家的交易時(shí),會(huì)與不同的金融機(jī)構(gòu)進(jìn)行通信,在整個(gè)交易過程中,需要從全局考慮,保證業(yè)務(wù)整體的一致性,確保整個(gè)交易鏈路的通暢。

      狀態(tài)管理

      狀態(tài)管理是分布式應(yīng)用的核心,分布式應(yīng)用考慮到云原生的需求,需要保證應(yīng)用的無狀態(tài)性,但實(shí)際的業(yè)務(wù)應(yīng)用存在大量的狀態(tài)數(shù)據(jù),需要將應(yīng)用的各種狀態(tài)數(shù)據(jù)剝離并保存在多種分布式緩存中間件中。同時(shí)分布式應(yīng)用實(shí)現(xiàn)冪等操作,保障分布式應(yīng)用同一筆業(yè)務(wù)在多次調(diào)用的情況下可以返回同樣的處理邏輯。另外考慮到分布式應(yīng)用業(yè)務(wù)流程狀態(tài)的管理,需要依賴大量的流程中間件進(jìn)行工作項(xiàng)的管理。分布式應(yīng)用需要通過各種SDK與分布式緩存中間件或者流程中間件進(jìn)行耦合式的交互,以完成業(yè)務(wù)的訴求。

      生命周期

      在數(shù)字化轉(zhuǎn)型過程中,企業(yè)從單獨(dú)運(yùn)維部門對單體應(yīng)用的集群管理轉(zhuǎn)向了虛擬化、云化、分布式架構(gòu)的管理。這需要從需求到部署上線的軟件生產(chǎn)線都滿足分布式應(yīng)用的自動(dòng)化發(fā)布與配置。同時(shí)需要將線下IT生產(chǎn)過程轉(zhuǎn)變?yōu)榫€上高度自動(dòng)化、可視化的IT生產(chǎn)線,提升IT系統(tǒng)研發(fā)效率,快速響應(yīng)業(yè)務(wù)需求。

      在業(yè)務(wù)上線的過程中,同樣會(huì)存在各種異常情況,這就要求企業(yè)對分布式應(yīng)用進(jìn)行實(shí)時(shí)的健康監(jiān)控,使發(fā)生生產(chǎn)故障時(shí)可以進(jìn)行實(shí)時(shí)或者準(zhǔn)實(shí)時(shí)的故障恢復(fù)處理。同時(shí)分布式應(yīng)用也不同于以往的單體應(yīng)用,分布式應(yīng)用多運(yùn)行在云環(huán)境中,需要有更方便的方式對分布在各個(gè)節(jié)點(diǎn)上的微服務(wù)應(yīng)用進(jìn)行統(tǒng)一的配置管理,在不影響業(yè)務(wù)使用的同時(shí),進(jìn)行配置的更新。同時(shí)在運(yùn)行階段,企業(yè)從成本角度和服務(wù)的高可用性上也需要能夠進(jìn)行分布式應(yīng)用的自動(dòng)伸縮,在大并發(fā)的情況下,根據(jù)業(yè)務(wù)規(guī)則實(shí)時(shí)進(jìn)行服務(wù)節(jié)點(diǎn)的自動(dòng)伸縮。

      下一代分布式中間件的建設(shè)之路

      通過分布式應(yīng)用的痛點(diǎn)分析,總結(jié)出分布式應(yīng)用的三點(diǎn)建設(shè)訴求。

      1.分布式中間件需要像水電煤一樣,作為基礎(chǔ)服務(wù)能力,隨時(shí)被分布式業(yè)務(wù)應(yīng)用進(jìn)行自助化調(diào)用,降低分布式業(yè)務(wù)應(yīng)用對分布式中間件的使用復(fù)雜度。

      2.分布式應(yīng)用需要為分布式業(yè)務(wù)應(yīng)用的全生命周期管理提供更加便捷、智能的管控環(huán)境,以支撐分布式應(yīng)用的全生命周期管理,包括需求、項(xiàng)目、代碼、持續(xù)集成、持續(xù)發(fā)布、運(yùn)維、監(jiān)控等。

      3.業(yè)務(wù)和底層框架應(yīng)該是解耦的,并且能通過快速擴(kuò)展的能力,在不改變服務(wù)代碼的情況下添加、升級、刪減分布式中間件的底層能力,并根據(jù)業(yè)務(wù)的需要快速便捷地選擇相應(yīng)的分布式中間件來為分布式應(yīng)用服務(wù)。

      基于分布式中間件建設(shè)的后續(xù)IT建設(shè),將持續(xù)關(guān)注如何更加便捷地讓業(yè)務(wù)應(yīng)用和分布式能力進(jìn)行解耦,企業(yè)如何更好地根據(jù)自身需要快速搭建出符合自身需求的企業(yè)平臺(tái)。下面,我們從自助化、敏捷化、多Mesh化三個(gè)方向來探討下一代分布式中間件的建設(shè)方向。

      自助化

      企業(yè)中間件將會(huì)逐步向云化發(fā)展。分布式應(yīng)用所須的各種資源需要能夠自助化的獲得。在云平臺(tái)上,可以做到根據(jù)業(yè)務(wù)情況按需申請,即開即用。除了基礎(chǔ)功能的快速滿足外,企業(yè)中間件還能夠按照業(yè)務(wù)應(yīng)用的請求量、運(yùn)算量,智能化地進(jìn)行集群高可靠的自助開通。最終做到讓分布式中間件能夠簡單的被獲取。在業(yè)務(wù)運(yùn)行時(shí),分布式中間件能夠快速注冊開通、服務(wù)試用,并能夠提供多種使用策略:在閑時(shí)減少資源試用,降低成本花銷;在忙時(shí)動(dòng)態(tài)伸縮,增強(qiáng)業(yè)務(wù)處理能力。

      敏捷化

      在IT建設(shè)數(shù)字化轉(zhuǎn)型的過程中,企業(yè)會(huì)重新梳理自身,不斷發(fā)現(xiàn)自身在整個(gè)軟件體系工程中可以優(yōu)化改進(jìn)的點(diǎn)—從調(diào)研與評估、建設(shè)方案規(guī)劃、實(shí)施落地三個(gè)階段逐步推進(jìn),建立企業(yè)生產(chǎn)線DevOps平臺(tái),覆蓋從需求到運(yùn)營的大生產(chǎn)階段,打通企業(yè)IT全生命周期的數(shù)據(jù)鏈路。

      業(yè)務(wù)應(yīng)用要對需求、開發(fā)、測試、部署進(jìn)行一站式的協(xié)同,同時(shí)沉淀全生命周期的研發(fā)過程數(shù)據(jù),通過數(shù)據(jù)分析,實(shí)現(xiàn)對研發(fā)過程的度量和改進(jìn)。企業(yè)要屏蔽線上線下環(huán)境差異,輕量化部署,提升業(yè)務(wù)上線效率,自動(dòng)監(jiān)聽調(diào)度,增強(qiáng)業(yè)務(wù)系統(tǒng)的穩(wěn)定性和可用性,支持更大密度的混合部署,提高資源利用率,降低整體運(yùn)營成本。

      多Mesh化

      目前業(yè)界在分布式系統(tǒng)當(dāng)中,解決分布式系統(tǒng)跨通信、強(qiáng)耦合的一個(gè)比較好的解決方案是服務(wù)網(wǎng)格Service Mesh技術(shù)。

      Service Mesh在兩個(gè)服務(wù)調(diào)用中引入了Proxy(Side car)進(jìn)行網(wǎng)絡(luò)代理,服務(wù)A要調(diào)用服務(wù)B時(shí),首先要通過服務(wù)A的Proxy請求服務(wù)B的Proxy,然后通過服務(wù)B的Proxy請求回到服務(wù)B,進(jìn)行訪問響應(yīng)。通過Proxy,Service Mesh解決了網(wǎng)絡(luò)中的透明性問題,這樣服務(wù)本身的業(yè)務(wù)代碼變動(dòng)對底層的網(wǎng)絡(luò)是無感知的。同時(shí)Service Mesh架構(gòu)除了解決http網(wǎng)絡(luò)通信問題之外,還能支撐多種異構(gòu)微服務(wù)間的交互。Service Mesh將底層中間件的能力做成SideCar,微服務(wù)通過不同SideCar進(jìn)行通信,解決了與業(yè)務(wù)代碼強(qiáng)耦合的問題。

      Service Mesh的實(shí)現(xiàn)主要是通過在網(wǎng)絡(luò)通信層提供透明化的服務(wù)代理,為每個(gè)微服務(wù)提供了1∶1的代理模式,即為每一個(gè)微服務(wù)提供一個(gè)SideCar,實(shí)現(xiàn)了對網(wǎng)絡(luò)請求的自動(dòng)化攔截與代理,從而降低了分布式應(yīng)用開發(fā)的復(fù)雜度。原有Service Mesh的核心問題包括:只解決了網(wǎng)絡(luò)通信層的代理,沒有涉及分布式應(yīng)用的其它維度;每個(gè)微服務(wù)必須單獨(dú)配置一個(gè)服務(wù)代理,沒有提供代理的共享機(jī)制;業(yè)務(wù)應(yīng)用無法按需選擇分布式中間件的服務(wù)能力。

      借鑒Service Mesh的設(shè)計(jì)思想,多Mesh化的分布式中間件平臺(tái)將代理從當(dāng)下的網(wǎng)絡(luò)通信層擴(kuò)展到業(yè)務(wù)集成、狀態(tài)管理、生命周期等維度,分別提供不同維度的SideCar來實(shí)現(xiàn)業(yè)務(wù)應(yīng)用與分布式中間件的解耦。同時(shí),將不同維度的SideCar通過聚合的方式形成新的分布式能力SideCar平臺(tái),對外可以通過提供聲明式、配置式、可自由組合分布式服務(wù)的能力為分布式業(yè)務(wù)應(yīng)用提供服務(wù)。

      多Mesh化的分布式中間件平臺(tái),提供網(wǎng)絡(luò)通信SideCar、狀態(tài)管理SideCar、業(yè)務(wù)集成SideCar、生命周期SideCar能力。同時(shí)為一個(gè)微服務(wù)應(yīng)用提供多個(gè)Sidecar,根據(jù)需要,一個(gè)Sidecar可以服務(wù)多個(gè)微服務(wù)。

      多Mesh化的分布式中間件平臺(tái),除了帶給Mesh本身開箱即用的分布式能力這一優(yōu)秀特性外,還提供了控制面板,為分布式應(yīng)用提供聲明式的配置,允許分布式應(yīng)用通過配置的方式聲明需要使用哪些分布式能力。同時(shí),多Mesh化的分布式中間件平臺(tái)對外提供標(biāo)準(zhǔn)的交互協(xié)議,采用HTTP+JSON的方式與分布式應(yīng)用交互,以支持異構(gòu)的分布式應(yīng)用系統(tǒng)便捷的使用提供的分布式能力。多Mesh化的分布式中間件平臺(tái)通過提供多種能力的SideCar實(shí)現(xiàn)了分布式業(yè)務(wù)應(yīng)用與各種分布式能力的無縫解耦,讓業(yè)務(wù)開發(fā)人員徹底專注于業(yè)務(wù)的開發(fā)中。此外,多Mesh化的分布式中間件平臺(tái)能夠使分布式中間件與分布式應(yīng)用按照自己的業(yè)務(wù)進(jìn)程發(fā)展,互不影響,并且可以隨時(shí)根據(jù)業(yè)務(wù)需要,添加業(yè)務(wù)需要使用的其他分布式能力。

      多Mesh化的分布式中間件平臺(tái)解決了ServiceMesh的幾個(gè)局限性問題并提供網(wǎng)絡(luò)通信、業(yè)務(wù)集成、狀態(tài)管理、生命周期四個(gè)維度的代理,支撐完整的分布式能力;提供代理共享的機(jī)制,每個(gè)代理可以支持多個(gè)分布式應(yīng)用;提供統(tǒng)一的控制面板,支持業(yè)務(wù)應(yīng)用按需配置分布式中間件服務(wù)能力。

      在分布式系統(tǒng)建設(shè)過程中,分布式應(yīng)用出現(xiàn)的強(qiáng)耦合、網(wǎng)絡(luò)問題、集成問題等痛點(diǎn),引出了分布式中間件建設(shè)的訴求。分布式中間件的未來建設(shè)方向是為了滿足分布式應(yīng)用的訴求,實(shí)現(xiàn)分布式中間件能力的透明化,無侵入地支撐分布式應(yīng)用快速發(fā)展。

      猜你喜歡
      中間件網(wǎng)絡(luò)通信分布式
      信息化時(shí)代網(wǎng)絡(luò)通信安全的背景和對策
      居民分布式儲(chǔ)能系統(tǒng)對電網(wǎng)削峰填谷效果分析
      我國自主可控中間件發(fā)展研究
      基于Paxos的分布式一致性算法的實(shí)現(xiàn)與優(yōu)化
      4G系統(tǒng)的新技術(shù)和特點(diǎn)
      5G網(wǎng)絡(luò)通信技術(shù)應(yīng)用的前瞻性思考
      以實(shí)力證明 用事實(shí)說話
      中移動(dòng)集采:東方通中間件脫穎而出
      金蝶 引領(lǐng)中間件2.0新時(shí)代
      东宁县| 旅游| 宜宾县| 湖南省| 友谊县| 阿克苏市| 安达市| 陕西省| 崇义县| 南涧| 象州县| 兴隆县| 东安县| 潞城市| 犍为县| 临城县| 保康县| 井冈山市| 白水县| 淮安市| 株洲县| 贡嘎县| 繁峙县| 什邡市| 惠水县| 湄潭县| 开平市| 筠连县| 儋州市| 乐安县| 延边| 萝北县| 高尔夫| 武宁县| 集安市| 靖江市| 溧阳市| 汪清县| 通辽市| 吉木乃县| 浦东新区|