国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于云“微服務(wù)”裝配軟件開發(fā)方法的研究

2024-01-14 09:54:24左海春苑俊英張鑒新吳恒志
電腦與電信 2023年9期
關(guān)鍵詞:微服務(wù)數(shù)據(jù)服務(wù)視圖

左海春 苑俊英 張鑒新 王 虓 吳恒志

(廣州南方學(xué)院,廣東 廣州 510970)

1 引言

隨著云計(jì)算的迅速發(fā)展,云服務(wù)已成為許多組織和企業(yè)構(gòu)建和交付軟件應(yīng)用的關(guān)鍵方法。微服務(wù)架構(gòu)作為一種軟件架構(gòu)風(fēng)格,通過(guò)將應(yīng)用程序拆分為小型、自治的服務(wù)單元,為構(gòu)建和擴(kuò)展云應(yīng)用提供了靈活性和可伸縮性。然而,隨著云微服務(wù)規(guī)模的不斷增長(zhǎng),如何高效地開發(fā)和裝配云微服務(wù)是當(dāng)前一個(gè)重要挑戰(zhàn)[1-3]。

盡管已經(jīng)有一些研究關(guān)注云微服務(wù)的開發(fā)和部署,但對(duì)于基于云微服務(wù)的軟件開發(fā)方法中的裝配過(guò)程仍然存在一些關(guān)鍵問(wèn)題。這些問(wèn)題可能包括如何有效組織和協(xié)調(diào)大規(guī)模的微服務(wù)集合、如何確保微服務(wù)之間的適配性和互操作性,以及如何在開發(fā)過(guò)程中提供有效的工具和支持[4,5]。因此,本研究旨在提供基于云微服務(wù)的軟件開發(fā)方法中裝配過(guò)程的深入理解和解決方案。

通過(guò)深入研究基于云微服務(wù)的軟件開發(fā)方法的裝配過(guò)程,可以為企業(yè)和組織提供更可靠、靈活和高效的軟件開發(fā)方法,推動(dòng)云計(jì)算和微服務(wù)架構(gòu)的進(jìn)一步發(fā)展。

2 基于云微服務(wù)的軟件開發(fā)設(shè)計(jì)

2.1 建立基于云環(huán)境的軟件開發(fā)方法的層級(jí)結(jié)構(gòu)體系

建立以云環(huán)境為基礎(chǔ)、微服務(wù)群為平臺(tái)與服務(wù)裝配為開發(fā)三層體系結(jié)構(gòu),如表1所示。對(duì)于安全性、性能要求較高的企業(yè)我們可以自建云環(huán)境。對(duì)于學(xué)校實(shí)驗(yàn)、研究可以選擇公有云。微服務(wù)群平臺(tái)基于容器發(fā)布微服務(wù)組件,構(gòu)建一個(gè)可伸縮的微服務(wù)容器,從而為上層提供服務(wù)組件與平臺(tái),并且微服務(wù)組件可以實(shí)現(xiàn)二次開發(fā),以滿足不同場(chǎng)景開發(fā)需求。裝配開發(fā)層,可以基于服務(wù)接口實(shí)現(xiàn)軟件系統(tǒng)開發(fā),并提供可視化與腳本兩種開發(fā)選擇。

表1 云環(huán)境、微服務(wù)群平臺(tái)、裝配開發(fā)三層級(jí)結(jié)構(gòu)體系

2.2 云微服務(wù)裝配過(guò)程設(shè)計(jì)

研究構(gòu)建出一種基于云服務(wù)支撐環(huán)境下的微服務(wù)裝配軟件開發(fā)方法,其基本開發(fā)流程如圖1所示。

圖1 云微服務(wù)的軟件開發(fā)流程

其整個(gè)開發(fā)過(guò)程都是基于云環(huán)境下進(jìn)行的,開發(fā)階段實(shí)現(xiàn)微服務(wù)功能,然后自動(dòng)推送至代碼庫(kù),通過(guò)編譯后智能配置與自動(dòng)打包成鏡像,然后運(yùn)行實(shí)體拉取鏡像與裝配系統(tǒng)并運(yùn)行,從而完成系統(tǒng)開發(fā)。整個(gè)過(guò)程可以不斷迭代,持續(xù)開發(fā)部署與運(yùn)行。

2.3 微數(shù)據(jù)服務(wù)編程模型

基于“縱橫分離,織入系統(tǒng)”思想構(gòu)建微服務(wù)??v:指微服務(wù)業(yè)務(wù)邏輯;橫:指微服務(wù)輔助公共代碼,織入:縱橫代碼進(jìn)行裝配,從而完整微服務(wù)系統(tǒng)開發(fā)。這種編程模型設(shè)計(jì)可降低耦合度,減少代碼,增加復(fù)用,便于擴(kuò)展,提高靈活性,并對(duì)系統(tǒng)的可操作性和可維護(hù)性更加友好。在微數(shù)據(jù)服務(wù)編程模型中,編碼的具體實(shí)現(xiàn)分為拆分、實(shí)現(xiàn)和織入三個(gè)過(guò)程,如圖2所示。

圖2 微數(shù)據(jù)服務(wù)編程模型

(1)拆分:從系統(tǒng)需求中抽取公共服務(wù)點(diǎn),并建立核心業(yè)務(wù)點(diǎn)。它們具有明確的分工與合作關(guān)系。公共服務(wù)點(diǎn)是指公共復(fù)用代碼部分,核心業(yè)務(wù)點(diǎn)是指業(yè)務(wù)核心代碼部分。

(2)實(shí)現(xiàn):通過(guò)核心業(yè)務(wù)點(diǎn)實(shí)現(xiàn)業(yè)務(wù)模塊的開發(fā);通過(guò)公共服務(wù)點(diǎn)實(shí)現(xiàn)公共模塊的開發(fā)。

(3)織入:將公共模塊編織入業(yè)務(wù)模塊(目標(biāo)對(duì)象),在指定的業(yè)務(wù)目標(biāo)處執(zhí)行公共模塊代碼,從而整合二個(gè)模塊,實(shí)現(xiàn)微服系統(tǒng)。

2.4 界面服務(wù)模型開發(fā)

基于H5+Javascript 技術(shù),以及本地緩存技術(shù)LocalStorage與SessionStor-age技術(shù)、SQLite技術(shù),建立交互服務(wù)模型,容器服務(wù)模型,積木式自由組合界面模型。

(1)交互服務(wù)模型:交互界面上的供用戶輸入數(shù)據(jù)的元素、將數(shù)據(jù)輸出到其他元素或者系統(tǒng)的元素。

(2)容器服務(wù)模型:形態(tài)為資源容器。例如,一個(gè)數(shù)據(jù)結(jié)構(gòu)、一個(gè)文件、一個(gè)記錄集、一張關(guān)系數(shù)據(jù)庫(kù)表、一項(xiàng)NoSQL數(shù)據(jù)、一項(xiàng)GrigDoc文檔元素,以及由它們組合而成的集合、記錄集及JSON格式的數(shù)據(jù)。

(3)積木式自由組合界面模型,采用Javascript+H5 技術(shù)開發(fā)實(shí)現(xiàn)。

(4)界面服務(wù)模型原理:通過(guò)數(shù)據(jù)視圖模型,建立視圖模型與數(shù)據(jù)業(yè)務(wù)模型,實(shí)現(xiàn)雙向綁定,如圖3所示。

圖3 界面服務(wù)模型原理

界面模型采用發(fā)布者/訂閱者模式,數(shù)據(jù)變化將被數(shù)據(jù)視圖所監(jiān)聽,觸發(fā)相應(yīng)的監(jiān)聽回調(diào)函數(shù),并更新視圖中的數(shù)據(jù)。同時(shí),數(shù)據(jù)視圖接收用戶交互事件操作。數(shù)據(jù)視圖模型主要工作過(guò)程如圖4所示。

(1)數(shù)據(jù)視圖模型構(gòu)建,使用事件監(jiān)聽器實(shí)現(xiàn),由觀察者監(jiān)聽到數(shù)據(jù)的變化??梢酝ㄟ^(guò)遍歷方法對(duì)數(shù)據(jù)對(duì)象添加setter和getter方法。對(duì)象數(shù)據(jù)賦值回調(diào)setter方法,獲取對(duì)象數(shù)據(jù)通過(guò)調(diào)用getter方法完成。

(2)編譯者解析指令。通過(guò)數(shù)據(jù)解析數(shù)據(jù),并初始化渲染頁(yè)面視圖,當(dāng)數(shù)據(jù)發(fā)生變化時(shí),會(huì)觸發(fā)相應(yīng)的更新函數(shù)來(lái)更新視圖。隨著數(shù)據(jù)的變化和訂閱者的通知,能夠動(dòng)態(tài)更新網(wǎng)頁(yè)視圖,以反映最新的數(shù)據(jù)狀態(tài)。

(3)訂閱者。當(dāng)對(duì)象收到通知時(shí),調(diào)用自己持有的update方法,完成視圖更新。

(4)數(shù)據(jù)視圖模型對(duì)象作為界面服務(wù)模型的核心,基于觀察者、編譯者和訂閱者實(shí)現(xiàn):觀察者監(jiān)聽model數(shù)據(jù)變化,并通過(guò)編譯者來(lái)解析指令,完成視圖更新;同時(shí),它還實(shí)現(xiàn)了視圖交互變化和數(shù)據(jù)模型變更的雙向綁定效果。

2.5 客戶云引擎研究與開發(fā)

基于AJAX 技術(shù)原理,解決客戶與服務(wù)數(shù)據(jù)模型通信,及數(shù)據(jù)更新等技術(shù)問(wèn)題。(1)基于事件驅(qū)動(dòng)拉取數(shù)據(jù),并自動(dòng)渲染到界面組件。(2)注冊(cè)服務(wù)信息,創(chuàng)建客戶信息。(3)界面模型加載與抽取數(shù)據(jù)服務(wù)。

3 云微服務(wù)裝配方法的實(shí)現(xiàn)

云微服務(wù)裝配方法,它通過(guò)微代碼開發(fā),容器對(duì)象生成,對(duì)象裝配組成,具體過(guò)程詳細(xì)見圖5 云微服務(wù)裝配,它可分為微服務(wù)的編程、請(qǐng)求與獲取、裝配與部署三個(gè)階段。

圖5 云微服務(wù)裝配

(1)編程階段

編程階段主要是微服務(wù)的設(shè)計(jì)與實(shí)現(xiàn),將微服務(wù)代碼上傳到微服務(wù)資源庫(kù)中,編譯并測(cè)試。資源庫(kù)可以分類管理微代碼,如公共類、業(yè)務(wù)類等。

(2)請(qǐng)求與獲取階段

軟件開發(fā)人員根據(jù)需求模型、工具,自動(dòng)生成微服務(wù)請(qǐng)求配置腳本,并向微服務(wù)資源庫(kù)申請(qǐng)?jiān)茢?shù)據(jù)服務(wù)模型(包括核心服務(wù)模型與公共服務(wù)模型),資源庫(kù)接受相應(yīng)的請(qǐng)求,然后解析,并選擇對(duì)應(yīng)的微服務(wù)模塊,再選取微服務(wù),加載到容器中。

(3)裝配與部署階段

根據(jù)軟件實(shí)施流程邏輯,把容器中的界面服務(wù)對(duì)象(前端)、數(shù)據(jù)服務(wù)對(duì)象等裝配在一起,形成初步的軟件框架。在微服務(wù)裝配過(guò)程中,基于配置文件自動(dòng)裝配后,再由研發(fā)人員手動(dòng)裝配與優(yōu)化,進(jìn)一步完善軟件框架功能。

各種開發(fā)團(tuán)隊(duì)可以基于云服務(wù)的模式按需使用,個(gè)人開發(fā)者也可以通過(guò)網(wǎng)站注冊(cè)申請(qǐng)來(lái)使服務(wù)。開發(fā)者通過(guò)軟件開發(fā)云可隨時(shí)隨地在云端進(jìn)行項(xiàng)目管理等以上工作,這讓開發(fā)者能夠?qū)W⒖焖賱?chuàng)新和應(yīng)對(duì)永無(wú)止境的需求變化,讓軟件開發(fā)更加簡(jiǎn)單高效,提升了個(gè)人和團(tuán)隊(duì)的交付能力和效率,也能進(jìn)一步幫助企業(yè)提高競(jìng)爭(zhēng)力。

4 基于微服務(wù)在教學(xué)實(shí)踐的應(yīng)用

將本研究成果應(yīng)用于軟件工程的專業(yè)實(shí)踐,基于微服務(wù)方式開發(fā)各類應(yīng)用系統(tǒng),能提升學(xué)生實(shí)驗(yàn)的積極性與開發(fā)效率,如圖6所示。微服務(wù)的開發(fā)分為教師開發(fā)與學(xué)生開發(fā),教師與學(xué)生開發(fā)的微服務(wù)存入代碼庫(kù)中。學(xué)生根據(jù)企業(yè)項(xiàng)目需求,配置實(shí)驗(yàn)環(huán)境,在集群上分割出獨(dú)立安全的實(shí)驗(yàn)環(huán)境,并為每個(gè)實(shí)驗(yàn)環(huán)境進(jìn)行資源分配。學(xué)生根據(jù)不同的實(shí)驗(yàn)場(chǎng)景申請(qǐng)額外資源,主要包括申請(qǐng)與項(xiàng)目相關(guān)的“微服務(wù)”項(xiàng),完成項(xiàng)目組合,并進(jìn)行實(shí)驗(yàn)。

圖6 教學(xué)實(shí)踐的應(yīng)用

5 結(jié)語(yǔ)

本研究旨在探索基于云微服務(wù)的軟件開發(fā)方法中的裝配過(guò)程,并提供相關(guān)的方法和指導(dǎo)。本研究對(duì)基于云微服務(wù)的軟件開發(fā)方法的裝配過(guò)程進(jìn)行了深入研究,并提供了一套系統(tǒng)化和規(guī)范化的方法和指導(dǎo)。通過(guò)理論分析和實(shí)證研究的結(jié)合,為開發(fā)人員和組織提供了在云環(huán)境下構(gòu)建高質(zhì)量、可擴(kuò)展和靈活的軟件應(yīng)用的有效方式。

然而,在實(shí)踐中也意識(shí)到本研究存在一些局限性。首先,實(shí)證研究的規(guī)模和范圍可能受限于資源和時(shí)間的限制,可能無(wú)法涵蓋所有可能的應(yīng)用場(chǎng)景。其次,本研究的方法和指導(dǎo)仍需要在更廣泛的實(shí)踐中進(jìn)行驗(yàn)證和推廣。最后,云計(jì)算和微服務(wù)領(lǐng)域的快速發(fā)展可能會(huì)導(dǎo)致研究結(jié)果的時(shí)效性問(wèn)題。

因此,未來(lái)的研究可以繼續(xù)深化基于云微服務(wù)的軟件開發(fā)方法的研究,并結(jié)合實(shí)踐經(jīng)驗(yàn)進(jìn)一步改進(jìn)和優(yōu)化方法。同時(shí),應(yīng)密切關(guān)注云計(jì)算和微服務(wù)領(lǐng)域的最新發(fā)展,并及時(shí)調(diào)整研究方向,以滿足不斷變化的需求和挑戰(zhàn)。

猜你喜歡
微服務(wù)數(shù)據(jù)服務(wù)視圖
地理空間大數(shù)據(jù)服務(wù)自然資源調(diào)查監(jiān)測(cè)的方向分析
5.3 視圖與投影
視圖
Y—20重型運(yùn)輸機(jī)多視圖
SA2型76毫米車載高炮多視圖
微信公眾平臺(tái)在醫(yī)院圖書館的應(yīng)用現(xiàn)狀調(diào)查
如何運(yùn)用稅收大數(shù)據(jù)服務(wù)供給側(cè)結(jié)構(gòu)性改革
基于微信企業(yè)號(hào)的校園移動(dòng)服務(wù)
微服務(wù)視角下高職圖書館數(shù)字資源使用分析
中文信息(2016年10期)2016-12-12 10:09:57
從單一模式系統(tǒng)架構(gòu)往微服務(wù)架構(gòu)遷移轉(zhuǎn)化技術(shù)研究
绥阳县| 横峰县| 龙井市| 竹北市| 垫江县| 常德市| 新源县| 新建县| 东安县| 桐梓县| 柯坪县| 大宁县| 江都市| 许昌市| 衡南县| 武山县| 连南| 丘北县| 玉溪市| 桂林市| 囊谦县| 乌兰浩特市| 蓬安县| 屏东县| 平远县| 富阳市| 平安县| 莱阳市| 万荣县| 卫辉市| 嘉义市| 缙云县| 四子王旗| 沙湾县| 双鸭山市| 大关县| 家居| 青龙| 凯里市| 巴青县| 隆回县|