• 
    

    
    

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

      關(guān)于微服務(wù)及其應(yīng)用研究

      2020-05-25 02:46:05張鵬飛王永強(qiáng)
      中國新通信 2020年1期
      關(guān)鍵詞:微服務(wù)軟件工程

      張鵬飛 王永強(qiáng)

      摘要:理論上任何業(yè)務(wù)系統(tǒng)如果長期存在的話,隨著此系統(tǒng)業(yè)務(wù)變更、功能增加必然會(huì)不斷演變,在一個(gè)更大的分布式環(huán)境中,這種改變尤其明顯,那么就需要架構(gòu)分析設(shè)計(jì)時(shí)更多的考慮系統(tǒng)所處的生態(tài)環(huán)境建設(shè),這樣才能使得整個(gè)系統(tǒng)不斷進(jìn)化。隨著虛擬化技術(shù)的發(fā)展以及docker容器實(shí)踐逐漸完善,微服務(wù)架構(gòu)的設(shè)計(jì)思想逐漸浮出水面.形成分布式 環(huán)境下新的最重要的設(shè)計(jì)思想。

      關(guān)鍵詞:軟件工程;微服務(wù);持續(xù)交付

      一、從分布式單體架構(gòu)到微服務(wù)架構(gòu)遷移

      (一)分布式單體架構(gòu)

      分布式單體架構(gòu)指的是在分布式環(huán)境下直接部署運(yùn)行一個(gè)整體開發(fā)的應(yīng)用,由整體應(yīng)用來提供系統(tǒng)所需的服務(wù),它在技術(shù)上通常采用分層實(shí)現(xiàn),大致分為表現(xiàn)層、應(yīng)用層、數(shù)據(jù)層,它有天然的優(yōu) 勢:它是模塊獨(dú)立無關(guān)的,各層之冋是技術(shù)分離的;它有統(tǒng)一的技術(shù)棧和開發(fā)標(biāo)準(zhǔn);它通常在一個(gè)進(jìn)程中運(yùn)行,模塊相互之間協(xié)同消耗極小。

      (二)微服務(wù)架構(gòu)定義

      微服務(wù)架構(gòu)是一種新的軟件體系設(shè)計(jì)模 式,它并沒有形成統(tǒng)一、嚴(yán)格的定義,但是基于其 分布式環(huán)境應(yīng)用的場景,卻擁有一些共同的特征: 比如開發(fā)敏捷性、持續(xù)交付、可伸縮性、最終--致性等。微服務(wù)架構(gòu)建議將大型復(fù)雜的單體架構(gòu)應(yīng)用劃分為一組微小的服務(wù),每個(gè)微服務(wù)根據(jù)其負(fù)責(zé)的具體業(yè)務(wù)職責(zé)提煉為單一的業(yè)務(wù)功能;每個(gè)服 務(wù)可以很容易地部署并發(fā)布到生產(chǎn)環(huán)境里隔離和獨(dú) 立的進(jìn)程內(nèi)部,它可以很容易地?cái)U(kuò)展和變更;對于一個(gè)具體的服務(wù)來說可以采用任何適用的語言和工 具來快速實(shí)現(xiàn);服務(wù)之間基于基礎(chǔ)設(shè)施互相協(xié)同工作, 1.3遷移需解決問題

      (1)如何處理服務(wù)狀態(tài)

      在分布式環(huán)境下盡可能的設(shè)計(jì)無狀態(tài)的微服務(wù) 更容易實(shí)現(xiàn)可伸縮性,但是在很多應(yīng)用場景(用戶相關(guān)數(shù)據(jù)讀寫)有狀態(tài)是不可避免的.所以必須把 有狀態(tài)服務(wù)的狀態(tài)相關(guān)信息提取出來使得有狀態(tài)服 務(wù)達(dá)到無狀態(tài)服務(wù)同樣的性能和擴(kuò)展能力。目前有 兩種實(shí)現(xiàn)方式:一種是采用分布式緩存集群存儲(chǔ)狀 態(tài),一種是采用nosql數(shù)據(jù)庫集群來存儲(chǔ)狀態(tài)。

      (2)服務(wù)之間通信機(jī)制由于每個(gè)微服務(wù)都是在獨(dú)立、隔離的進(jìn)程內(nèi)部 運(yùn)行,所以這些微服務(wù)之間的調(diào)用行為屬于進(jìn)程冋 通信。

      (3)服務(wù)可持續(xù)交付

      實(shí)現(xiàn)微服務(wù)架構(gòu)的保障就是能夠嚴(yán)格執(zhí)行服務(wù) 的可持續(xù)交付,服務(wù)可持續(xù)交付指的是每個(gè)服務(wù) 交付的流程具備持續(xù)性,也就是說一個(gè)微服務(wù)應(yīng)用 從開發(fā)完畢到部署發(fā)布中間的過程是一個(gè)可持續(xù)的 過程,并且這個(gè)微服務(wù)應(yīng)用可能存在多個(gè)版本不同 運(yùn)行狀態(tài)的服務(wù)實(shí)例,它們需要集成到現(xiàn)有的運(yùn)行環(huán)境中穏定提供服務(wù)。服務(wù)可持續(xù)交付常常包括幾個(gè)方面:開發(fā)、單元測試、構(gòu)建、部署、集成、集 成測試、發(fā)布,從基礎(chǔ)設(shè)施環(huán)境來看又包含幾個(gè)部分,代碼版本管理、構(gòu)建管理、部署管理、集成管 理、測試管理、發(fā)布管理、運(yùn)維監(jiān)控管理。

      二、微服務(wù)架構(gòu)基礎(chǔ)設(shè)施設(shè)計(jì)與分析

      (一)微服務(wù)架構(gòu)基礎(chǔ)設(shè)施設(shè)計(jì)依據(jù)

      (1)分布式系統(tǒng)核心問題

      1) 性能和可伸縮性

      在分布式環(huán)境下,微服務(wù)架構(gòu)使得業(yè)務(wù)邏輯可 以拆分為粒度較小的服務(wù),這些服務(wù)能夠運(yùn)行在獨(dú) 立、隔離的環(huán)境,易于部署、可擴(kuò)展性強(qiáng),因此這 些微服務(wù)的處理請求能力可伸縮性強(qiáng),性能優(yōu)勢明顯。

      2) 數(shù)據(jù)一致性和高可用性

      在分布式環(huán)境下,從硬件到主機(jī)操作系統(tǒng)到軟 件總有一部分存在故障狀態(tài),需要保證這個(gè)系統(tǒng)的 高可用性就需要盡可能的減少系統(tǒng)資源開銷的同時(shí) 排除單點(diǎn)故障或者容忍錯(cuò)誤;然而在故障恢復(fù)或者 多點(diǎn)備份或者執(zhí)行多服務(wù)事務(wù)的同時(shí)也需要保證數(shù) 據(jù)的一致性,基于性能優(yōu)先的考慮這種數(shù)據(jù)一致性 是數(shù)據(jù)最終一致性。

      (2)DevOps基本原則

      DevOps指的是從軟件交付的全局岀發(fā)在開發(fā) 和運(yùn)維架起交流和協(xié)作的橋梁,并且自動(dòng)化配置管 理軟件的文化變革運(yùn)動(dòng),DevOps的重要組成部分就 是持續(xù)交付,其基本原則是使軟件交付的流程自動(dòng) 化且可持續(xù),并盡可能簡潔。

      (二)微服務(wù)架構(gòu)基礎(chǔ)設(shè)施總體設(shè)計(jì)

      通過分析在分布式環(huán)境下從單體架構(gòu)遷移到微服務(wù)架構(gòu)需要解決的問題以及微服務(wù)架構(gòu)基礎(chǔ)設(shè)施的設(shè)計(jì)依據(jù).得到微服務(wù)架構(gòu)基礎(chǔ)設(shè)施總體設(shè)計(jì)。其中,開發(fā)完畢的微服務(wù)應(yīng)用經(jīng)由持續(xù)交付平 臺(tái)部署、驗(yàn)證、發(fā)布到分布式環(huán)境中,同時(shí)把這個(gè) 微服務(wù)注冊到服務(wù)注冊中心,用戶或外部服務(wù)通過 服務(wù)網(wǎng)關(guān)訪問此分布式環(huán)境節(jié)點(diǎn)中的API服務(wù),服 務(wù)網(wǎng)關(guān)通過服務(wù)注冊中心發(fā)現(xiàn)服務(wù).其他一些基礎(chǔ) 設(shè)施提供對這些微服務(wù)的運(yùn)行監(jiān)控管理。

      (三)微服務(wù)架構(gòu)基礎(chǔ)設(shè)施關(guān)鍵組件

      (1)持續(xù)交付平臺(tái)

      實(shí)現(xiàn)一個(gè)可持續(xù)交付網(wǎng)平臺(tái)的目的是把基于分布式環(huán)境分析設(shè)計(jì)的微服務(wù)應(yīng)用快速靈活、可重復(fù) 且持續(xù)的、自動(dòng)化的集成部署到分布式環(huán)境中穩(wěn)定 運(yùn)行,并且這些微服務(wù)是可編程配置、易于維護(hù)、 變更、擴(kuò)展的,其可以運(yùn)行于一個(gè)獨(dú)立、隔離的容 器里表現(xiàn)為一個(gè)進(jìn)程。

      (2)服務(wù)注冊與發(fā)現(xiàn)組件

      服務(wù)注冊與發(fā)現(xiàn)是微服務(wù)架構(gòu)中的核心組件,分布式環(huán)境中服務(wù)的實(shí)例會(huì)根據(jù)運(yùn)行環(huán)境變化依據(jù) 默認(rèn)規(guī)則或策略動(dòng)態(tài)變化,這時(shí)要實(shí)現(xiàn)服務(wù)注冊與 發(fā)現(xiàn)變得異常復(fù)雜。

      (3)服務(wù)網(wǎng)關(guān)

      服務(wù)網(wǎng)關(guān)冏是一個(gè)統(tǒng)一調(diào)用邏輯人口,封裝了分布式環(huán)境中某個(gè)節(jié)點(diǎn)內(nèi)部的服務(wù)信息。

      三、微服務(wù)架構(gòu)基礎(chǔ)設(shè)施在運(yùn)維管理中的應(yīng)用

      隨著信息化的發(fā)展,各類應(yīng)用系統(tǒng)層出不窮、運(yùn)維人員管理數(shù)量極其龐大的微服務(wù)變得十分復(fù)雜,因此在分布式環(huán)境下應(yīng)用的可持續(xù)交付能力變得極其重要。采用持續(xù)交付平臺(tái)可以支持微服務(wù)自動(dòng)化的便捷部署到分布式環(huán)境中并經(jīng)過驗(yàn)證后發(fā)布。采用服務(wù)注冊中心可以支持微服務(wù)的發(fā)現(xiàn)與定位,為微服務(wù)的集成、組合提供支持。通過在分布式環(huán)境下提供各種基礎(chǔ)設(shè)施使得整個(gè)運(yùn)維管理更加高效、科學(xué)、合理,并且極大的降低了運(yùn)維成本和復(fù)雜性。

      四、結(jié)論

      本文通過分析分布式環(huán)境下微服務(wù)架構(gòu)相對于 單體架構(gòu)的優(yōu)勢以及其遷移需解決問題提出微服務(wù) 基礎(chǔ)設(shè)施總體設(shè)計(jì),分析了基礎(chǔ)設(shè)施關(guān)鍵組件的功 能,舉例了其在運(yùn)維管理中的應(yīng)用。當(dāng)然微服務(wù)架 構(gòu)的實(shí)踐還存在很多待深入研究的問題·比如其在 機(jī)器學(xué)習(xí)、大數(shù)據(jù)挖掘等分布式計(jì)算場景的應(yīng)用, 這些還需要今后在實(shí)踐中不斷探索、學(xué)習(xí)。

      參考文獻(xiàn):

      [1]熊敏,林榮恒.鄒華.云計(jì)算環(huán)境卜·的自適應(yīng)資源監(jiān)測模 型設(shè)計(jì)卩].新型工業(yè)化,2012, 2(11): 25-3L

      猜你喜歡
      微服務(wù)軟件工程
      基于供給側(cè)改革理論的圖書館社交網(wǎng)絡(luò)微服務(wù)研究
      微信公眾平臺(tái)在醫(yī)院圖書館的應(yīng)用現(xiàn)狀調(diào)查
      基于微信企業(yè)號的校園移動(dòng)服務(wù)
      微服務(wù)視角下高職圖書館數(shù)字資源使用分析
      中文信息(2016年10期)2016-12-12 10:09:57
      從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
      依托工作室的軟件工程實(shí)踐教學(xué)研究
      應(yīng)用瀑布模型的MOOC制作方法
      融合APTECH體系的軟件產(chǎn)業(yè)人才培養(yǎng)探究
      基于工程教育認(rèn)證的《軟件工程》課程教學(xué)質(zhì)量建設(shè)研究 
      關(guān)于提高軟件工程實(shí)踐教學(xué)質(zhì)量的幾點(diǎn)思考
      松阳县| 凌海市| 靖江市| 巴青县| 炉霍县| 元阳县| 类乌齐县| 绥江县| 色达县| 大足县| 泸溪县| 南康市| 兴安盟| 六安市| 阳曲县| 淳化县| 怀集县| 娄底市| 海南省| 石门县| 梁平县| 昌吉市| 海林市| 西乌| 临清市| 巩义市| 萨嘎县| 肥西县| 新巴尔虎右旗| 晋宁县| 陵水| 大连市| 章丘市| 安乡县| 芦溪县| 安陆市| 衡水市| 崇明县| 丰城市| 景德镇市| 和顺县|