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

?

基于微服務(wù)架構(gòu)的一體化教務(wù)系統(tǒng)研究*

2019-04-08 08:48:46成天龍許維勝
中國教育信息化 2019年5期
關(guān)鍵詞:教務(wù)架構(gòu)功能

成天龍 ,許維勝 ,2

(1.同濟大學(xué) 電子與信息工程學(xué)院,上海 200092;2.同濟大學(xué) 信息化辦公室,上海 200092)

一、引言

圍繞創(chuàng)建世界一流大學(xué)的目標,高校教學(xué)改革日新月異,如:人才分類培養(yǎng)模式、本科新生導(dǎo)師制、本研課程互選、拔尖學(xué)生培養(yǎng)實驗計劃、大類招生改革、國際交流合作創(chuàng)新等。同時,目前高校的本科生、研究生教務(wù)管理仍處于相對分散獨立的狀態(tài),且相應(yīng)的教務(wù)管理系統(tǒng)大多采用傳統(tǒng)的單塊架構(gòu)或SOA架構(gòu)。這導(dǎo)致教務(wù)管理系統(tǒng)的需求響應(yīng)速度已趕不上高校業(yè)務(wù)需求變化速度,且無法支撐實現(xiàn)充分的教育資源共享。

微服務(wù)(Microservices)架構(gòu)作為當下流行的一種云原生的軟件架構(gòu)風(fēng)格,能夠以更加靈活、輕便、松耦合的方式來構(gòu)建復(fù)雜的應(yīng)用[3],為傳統(tǒng)教務(wù)系統(tǒng)單塊架構(gòu)的轉(zhuǎn)型,提供了可行的技術(shù)路線。本文基于微服務(wù)架構(gòu)對傳統(tǒng)單塊型教務(wù)系統(tǒng)的架構(gòu)轉(zhuǎn)型進行研究,按照微服務(wù)架構(gòu)思想,拆分一體化教務(wù)系統(tǒng)為多個小而自治、協(xié)同工作的服務(wù)實體,化大而復(fù)雜為小而簡單,有效降低系統(tǒng)業(yè)務(wù)邏輯之間的耦合,提升系統(tǒng)的靈活性與擴展性,使其能夠有效支撐本研業(yè)務(wù)融合與一體化教務(wù)系統(tǒng)建設(shè)工作。

二、一體化教務(wù)理念

1.理念思想

一體化教務(wù)理念涵蓋對本科生、研究生的統(tǒng)一教務(wù)管理思想,追求本、碩、博教學(xué)資源的統(tǒng)一調(diào)配與共享。整體規(guī)劃本研教學(xué)業(yè)務(wù),以一體化教學(xué)模型和數(shù)據(jù)為基礎(chǔ),一體化服務(wù)和管理為導(dǎo)向,以穩(wěn)定開放的平臺為運行支撐,借助彈性靈活的系統(tǒng)架構(gòu),搭建柔性伸縮應(yīng)用,打通高校各部門業(yè)務(wù),實現(xiàn)跨部門業(yè)務(wù)融合與數(shù)據(jù)共享,構(gòu)建一體化教學(xué)服務(wù)平臺,實現(xiàn)本研教育貫通式培養(yǎng)[1]。

2.具體表現(xiàn)形式

(1)模型數(shù)據(jù)一體化。整體構(gòu)建教學(xué)業(yè)務(wù)模型數(shù)據(jù),綜合設(shè)計本研學(xué)生的一體化數(shù)據(jù)結(jié)構(gòu),利用數(shù)據(jù)交換引擎實現(xiàn)數(shù)據(jù)集成、共享,構(gòu)建統(tǒng)一教學(xué)數(shù)據(jù)庫。采用連續(xù)信息模型,實現(xiàn)數(shù)據(jù)分段式管理,按需組裝,能夠展現(xiàn)學(xué)生教學(xué)信息全貌與全生命周期下的教學(xué)事件節(jié)點等。劃分業(yè)務(wù)模型,包含資源類與功能類。資源類模型包含教學(xué)業(yè)務(wù)實體,相對獨立,不相互依賴,屬于下層模型,包括人員全生命周期、課程等;功能類模型依賴于資源類模型,屬于上層模型,其與教務(wù)業(yè)務(wù)緊密結(jié)合,包括學(xué)籍管理、培養(yǎng)方案、排課、選課、考試、成績等。

(2)服務(wù)管理一體化?;谝惑w化教務(wù)整體規(guī)劃,突出學(xué)生培養(yǎng)模式和教學(xué)管理個性化特點,對本研教務(wù)從頂層設(shè)計角度進行業(yè)務(wù)融合,形成整套一體化教學(xué)管理與服務(wù)系統(tǒng)。采用靈活的微服務(wù)架構(gòu),建設(shè)服務(wù)中心,實現(xiàn)教學(xué)服務(wù)注冊、管理、發(fā)布、監(jiān)控等。構(gòu)建優(yōu)質(zhì)、穩(wěn)定、高效的信息化教學(xué)服務(wù)體系,為教職工、學(xué)生提供“一站式”的教學(xué)服務(wù),提供服務(wù)搜索、收藏、定制功能以及跨終端的服務(wù)體驗。

(3)教學(xué)資源一體化。統(tǒng)一管理本、碩、博的課程、教師、教室、設(shè)備等教學(xué)資源,合理調(diào)配師生教學(xué)業(yè)務(wù)運行過程中的資源流轉(zhuǎn),實現(xiàn)資源共享與資源利用率最優(yōu)化。

(4)應(yīng)用開發(fā)一體化。構(gòu)建校園教學(xué)服務(wù)應(yīng)用的基礎(chǔ)支撐平臺,打造應(yīng)用開發(fā)生態(tài)圈,提供應(yīng)用服務(wù)全生命周期管理。面向校內(nèi)應(yīng)用開發(fā)者、體驗者全面開放平臺,提供標準接口。支持與公共數(shù)據(jù)平臺、校園卡等其它業(yè)務(wù)系統(tǒng)無縫對接。

(5)界面入口一體化。提供統(tǒng)一的本科生、研究生訪問入口,集成高校內(nèi)部統(tǒng)一身份認證,支持和其它校內(nèi)系統(tǒng)之間的SSO單點登錄,面向不同身份用戶提供風(fēng)格一致的界面效果和使用體驗。

(6)報表統(tǒng)計一體化。提供一體化的報表統(tǒng)計功能,對本、碩、博學(xué)生和教職工等各項評價、監(jiān)控指標提供豐富的報表統(tǒng)計功能,提供師生學(xué)習(xí)效果和教學(xué)質(zhì)量等信息,為學(xué)校調(diào)整人才培養(yǎng)方案提供決策支持。[2]

三、微服務(wù)架構(gòu)簡介

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

微服務(wù)架構(gòu)是當下流行的軟件架構(gòu)風(fēng)格。[3]該架構(gòu)將復(fù)雜的單塊應(yīng)用分解成一組小而專一、耦合度低、高度自治的服務(wù);每個服務(wù)圍繞各自業(yè)務(wù)功能確定服務(wù)邊界,獨立開發(fā)、測試、部署;每個服務(wù)都是單獨的應(yīng)用,運行于獨立進程中;使用和語言無關(guān)的輕量級通信機制,相互協(xié)同工作實現(xiàn)完整系統(tǒng)功能;每個服務(wù)僅關(guān)注和完成某個特定功能,一個功能代表一個小的業(yè)務(wù)能力。

2.微服務(wù)架構(gòu)優(yōu)勢

微服務(wù)架構(gòu)通過有效拆分復(fù)雜單塊應(yīng)用,降低系統(tǒng)耦合度,從而實現(xiàn)應(yīng)用敏捷開發(fā)和靈活擴展。越是在規(guī)模龐大的軟件項目中,微服務(wù)架構(gòu)優(yōu)勢就越明顯。[4]首先體現(xiàn)在獨立性方面,每個服務(wù)都是松散耦合的,有明確的業(yè)務(wù)邊界,低耦拆分的服務(wù)在開發(fā)、測試、部署階段都能帶來更高效率,使業(yè)務(wù)變更成本與風(fēng)險更低。其次是技術(shù)選擇更為靈活,由于微服務(wù)采用語言無關(guān)的API進行相互通信,因而不同服務(wù)可以針對業(yè)務(wù)特性和團隊技能使用不同語言框架進行開發(fā),使得技術(shù)轉(zhuǎn)型成本降低。再次是系統(tǒng)復(fù)用性和伸縮性更強,微服務(wù)能將已有代碼、對象和模塊的復(fù)用轉(zhuǎn)變?yōu)榉?wù)的復(fù)用,降低項目成本,并可針對特定服務(wù)獨立伸縮。最后是服務(wù)容錯性更高,微服務(wù)通常使用Docker容器獨立部署,進程隔離,每個服務(wù)獨立運行,某個服務(wù)出現(xiàn)故障也不會影響其它服務(wù)正常工作。[5]

四、微服務(wù)架構(gòu)在一體化教務(wù)系統(tǒng)中的應(yīng)用

1.傳統(tǒng)教務(wù)系統(tǒng)架構(gòu)與缺陷

高校傳統(tǒng)教務(wù)系統(tǒng)由于架構(gòu)形成時期較早,因此大多采用單塊架構(gòu),如圖1所示。系統(tǒng)僅以實現(xiàn)業(yè)務(wù)功能為目的,將所有功能集中在同一工程內(nèi)部,業(yè)務(wù)邏輯耦合緊密。隨著教學(xué)業(yè)務(wù)改革,單塊架構(gòu)下的教務(wù)系統(tǒng)缺點也愈發(fā)明顯:①需求變更困難。無法滿足新業(yè)務(wù)需求快速上線,難以在原有復(fù)雜工程上開發(fā)新功能。②擴展性差。只能基于整個系統(tǒng)擴展,無法針對特定功能模塊按需擴展。③可靠性差。某個模塊故障會導(dǎo)致整個系統(tǒng)宕機,影響其它正常模塊運行。④維護成本高。只有原開發(fā)者才理解工程結(jié)構(gòu)和實現(xiàn),新成員難以維護工程。

圖1 傳統(tǒng)教務(wù)系統(tǒng)單塊架構(gòu)

2.微服務(wù)架構(gòu)轉(zhuǎn)型方式

單塊架構(gòu)無法應(yīng)對本研一體化教務(wù)融合所帶來的復(fù)雜性,為此采用微服務(wù)對其進行架構(gòu)轉(zhuǎn)型。如圖2所示,左側(cè)為傳統(tǒng)教務(wù)系統(tǒng)單塊架構(gòu),所有功能模塊均運行于單個進程內(nèi),緊耦合,不易擴展,靈活性差;右側(cè)為轉(zhuǎn)型后的教務(wù)系統(tǒng)微服務(wù)架構(gòu),不同業(yè)務(wù)作為服務(wù)分散于不同進程中,每個服務(wù)進程功能完整且獨立自治,能夠單獨輸出業(yè)務(wù)能力,松耦合,易于擴展且更為靈活。隨著一體化教務(wù)理念帶來的系統(tǒng)重組與業(yè)務(wù)融合,教務(wù)系統(tǒng)業(yè)務(wù)復(fù)雜度將不斷增大,此時采用微服務(wù)架構(gòu)所帶來的松耦合優(yōu)勢將愈發(fā)明顯。

圖2 教務(wù)系統(tǒng)向微服務(wù)架構(gòu)轉(zhuǎn)型方式

3.微服務(wù)架構(gòu)平滑過渡

微服務(wù)架構(gòu)轉(zhuǎn)型需要注意新老系統(tǒng)之間的平滑過渡,保證業(yè)務(wù)流程協(xié)同,最終實現(xiàn)新老系統(tǒng)完全替換。老系統(tǒng)遷移過渡可參考下述步驟:①定義范圍。明確業(yè)務(wù)改造范圍,選取業(yè)務(wù)范圍影響較小、非關(guān)鍵功能進行業(yè)務(wù)試點,明確成員責任范圍,確保改造目標清晰。②功能剝離。將功能從原系統(tǒng)拆分出來,并構(gòu)建新服務(wù),在原系統(tǒng)前端使用代理機制,使用遺留系統(tǒng)和新服務(wù)組合為用戶提供服務(wù)。③數(shù)據(jù)解耦。從原有單塊架構(gòu)數(shù)據(jù)庫中剝離相關(guān)業(yè)務(wù)數(shù)據(jù),盡量滿足對于每個服務(wù)有獨立、隔離的業(yè)務(wù)數(shù)據(jù)庫。④數(shù)據(jù)同步。對于復(fù)雜業(yè)務(wù)邏輯,改造時間和成本較大,可能在較長時間內(nèi),由于新服務(wù)獨立出來導(dǎo)致無法同其它現(xiàn)有系統(tǒng)協(xié)作,此時可采用將新服務(wù)中的業(yè)務(wù)數(shù)據(jù)同步回原系統(tǒng)數(shù)據(jù)庫中,保障原有功能可繼續(xù)使用。

五、微服務(wù)粒度與服務(wù)劃分原則

1.微服務(wù)粒度

服務(wù)劃分是微服務(wù)架構(gòu)實施的重要一步,良好的服務(wù)拆分能使系統(tǒng)保持松耦合、高內(nèi)聚。服務(wù)劃分旨在“按照業(yè)務(wù)領(lǐng)域組件創(chuàng)建服務(wù),使服務(wù)獨立開發(fā)、管理和擴展”,即對業(yè)務(wù)領(lǐng)域功能按照組件形式進行拆分,其關(guān)鍵是業(yè)務(wù)領(lǐng)域組件所含業(yè)務(wù)邊界大小,即服務(wù)粒度。

合理的服務(wù)粒度是保證微服務(wù)架構(gòu)高效運行的重要因素。粒度過細會導(dǎo)致服務(wù)數(shù)量過多,交互關(guān)系復(fù)雜,系統(tǒng)集成效率和可用性降低,后期難以維護;反之,粒度太粗,會導(dǎo)致解耦不足,多個服務(wù)邏輯相互耦合,無法滿足上層對某個細分服務(wù)的使用需求,缺乏靈活性。因此,服務(wù)粒度太細或太粗均不合理,原則上應(yīng)根據(jù)業(yè)務(wù)需求,能夠滿足上層對所劃分服務(wù)自由編排從而獲得更多業(yè)務(wù)能力。

微服務(wù)粒度與軟件代碼行數(shù)無關(guān),“微”并不是限定服務(wù)的代碼工程規(guī)模,而是限定服務(wù)所包含的業(yè)務(wù)功能范圍。每個服務(wù)包含的業(yè)務(wù)邏輯需滿足“單一且完整”規(guī)則[6]:①“單一”規(guī)則。強調(diào)業(yè)務(wù)功能原子性。單個服務(wù)中不應(yīng)存在兩部分完全無關(guān)或互不影響的邏輯,否則應(yīng)把這兩部分邏輯拆開,也就是說只要與實現(xiàn)某單一業(yè)務(wù)功能無關(guān)的邏輯,則應(yīng)將其分離到它應(yīng)該屬于的服務(wù)中去。“單一”規(guī)則用于限定微服務(wù)粒度的上限。②“完整”規(guī)則。強調(diào)業(yè)務(wù)功能完備性。如果說合適粒度的服務(wù)完成一項“任務(wù)”,則不應(yīng)將該服務(wù)持續(xù)細分而使得更小粒度服務(wù)演變?yōu)橥瓿蛇@項“任務(wù)”所需的一個“步驟”,也就是說只要是實現(xiàn)某單一業(yè)務(wù)功能所需的邏輯,則都應(yīng)放在同一服務(wù)內(nèi),而不應(yīng)放在其它服務(wù)中被調(diào)用?!巴暾币?guī)則用于限定微服務(wù)粒度的下限。

2.服務(wù)劃分原則

服務(wù)劃分沒有普適的方法,而是根據(jù)實際業(yè)務(wù)綜合考慮多個因素。按照業(yè)務(wù)領(lǐng)域組件思想,服務(wù)首先要根據(jù)業(yè)務(wù)功能拆分,直到每個服務(wù)滿足功能“單一且完整”要求。具體來說,首先通過系統(tǒng)交互流程分析,將業(yè)務(wù)系統(tǒng)內(nèi)部流程分解到具體業(yè)務(wù)功能組件,識別出最細粒度的業(yè)務(wù)功能單元,再按照高內(nèi)聚、松耦合原則,從底向上進行服務(wù)聚合,盡量保證各個服務(wù)之間交互最少,最后根據(jù)各個服務(wù)模塊功能特性,多次迭代調(diào)整得到最佳的滿足高內(nèi)聚、松耦合條件的服務(wù)劃分。對于公共基礎(chǔ)數(shù)據(jù)和系統(tǒng)通用模塊,采用共性下沉的策略單獨劃分。

實際開發(fā)中,為了項目前期快速進行服務(wù)識別,一個有價值的服務(wù)劃分方法是:首先分析該業(yè)務(wù)系統(tǒng)承載的主體業(yè)務(wù)流程是什么,然后分析這個業(yè)務(wù)流程可以橫向劃分為哪幾個獨立階段,將這些獨立階段劃分為不同的服務(wù),再根據(jù)每個服務(wù)自有特性進行分析修正。以一體化教務(wù)系統(tǒng)為例,其承載主體業(yè)務(wù)流程為學(xué)生的全生命周期教學(xué)管理,大致可以橫向劃分為迎新報到、學(xué)籍注冊、培養(yǎng)方案、排課、選課、考試、成績、實踐、學(xué)位等階段,因此可先按上述階段進行服務(wù)劃分,再對每個服務(wù)獨自調(diào)整。對于公共基礎(chǔ)數(shù)據(jù),如學(xué)生、教師、課程、教學(xué)資源等,按照共性下沉策略單獨拆分微服務(wù)。同理,系統(tǒng)通用模塊,如會話管理、流程管理等,也需獨立劃分。

總體來講,服務(wù)劃分不能只從技術(shù)角度出發(fā),而要面向業(yè)務(wù)、分而治之,綜合考慮以下各方面因素。

(1)業(yè)務(wù)因素。首先從業(yè)務(wù)角度確定劃分方案。服務(wù)邊界要充分考慮業(yè)務(wù)獨立性和專業(yè)性,比如教務(wù)系統(tǒng)中的課程管理、選課等服務(wù),按照業(yè)務(wù)對象和業(yè)務(wù)行為合理拆分服務(wù)邊界。

(2)自給自足。明確服務(wù)分工,確保每個服務(wù)僅包含自身所需處理邏輯,包括數(shù)據(jù)存儲、業(yè)務(wù)邏輯、消息發(fā)送接收等。保障服務(wù)運行自給自足,相對獨立,減少對外界依賴,提升服務(wù)獨立運行、升級和靈活拼裝能力。

(3)系統(tǒng)擴展。服務(wù)解耦拆分最重要的作用之一是提高系統(tǒng)擴展性。不同服務(wù)有不同的擴展性要求,把具有不同擴展性要求的服務(wù)單獨劃分處理,能夠提高系統(tǒng)擴展效率。比如教務(wù)系統(tǒng)中的選課服務(wù)要求較高并發(fā)性能,把選課服務(wù)分離,單獨考慮其性能擴展需求,確保不會因選課服務(wù)負載過高而導(dǎo)致整個系統(tǒng)不可用。

(4)數(shù)據(jù)一致。微服務(wù)架構(gòu)如果需要跨服務(wù)改變業(yè)務(wù)數(shù)據(jù)狀態(tài),則需要處理復(fù)雜的分布式事務(wù)與數(shù)據(jù)一致性問題,對系統(tǒng)性能有較大影響。相比之下,只在同一服務(wù)內(nèi)部保證事務(wù)性更加簡單且高效。盡量把有數(shù)據(jù)強一致要求的事務(wù)性邏輯放在一個服務(wù)內(nèi),服務(wù)邊界滿足非事務(wù)性、數(shù)據(jù)最終一致性即可。

(5)信息安全。不同服務(wù)有不同的信息安全要求。對于信息安全要求高的服務(wù)可以單獨劃分并特殊部署,比如運行在防火墻后,也可以根據(jù)服務(wù)特點針對性地滿足信息安全需求。

(6)服務(wù)組合。在底層服務(wù)之上,可能會有服務(wù)能力組合層,實現(xiàn)組合服務(wù)。如果存在這種情況,最好也以獨立的服務(wù)模塊實現(xiàn)。組合服務(wù)本身可能并不對應(yīng)具體數(shù)據(jù)庫,而是將下層服務(wù)進行組合,形成新的接口服務(wù)能力。

六、同濟大學(xué)教務(wù)系統(tǒng)微服務(wù)架構(gòu)轉(zhuǎn)型實踐

1.原有教務(wù)系統(tǒng)問題

同濟大學(xué)原有教務(wù)系統(tǒng)有三套:本科生教務(wù)系統(tǒng)、研究生管理系統(tǒng)、本研一體化教務(wù)管理系統(tǒng)。前兩套系統(tǒng)分別用于管理本科生和研究生教務(wù),建設(shè)年代較早,技術(shù)架構(gòu)落后;后一套系統(tǒng)首次嘗試本研業(yè)務(wù)融合,但由于其仍為單塊架構(gòu),未采用微服務(wù)架構(gòu),最終由于業(yè)務(wù)復(fù)雜性及單塊架構(gòu)局限性,未能將本研教學(xué)業(yè)務(wù)真正融合。三套系統(tǒng)目前各自管理部分教學(xué)業(yè)務(wù),在數(shù)據(jù)與業(yè)務(wù)層面均未進行全面融合,且系統(tǒng)均為單塊架構(gòu),耦合緊密,難以持續(xù)演進,已無法響應(yīng)新時代高校教學(xué)改革需求,為此急需通過微服務(wù)架構(gòu)來構(gòu)建一體化教務(wù)系統(tǒng),支撐本研業(yè)務(wù)融合應(yīng)用建設(shè)。

2.一體化教務(wù)系統(tǒng)服務(wù)劃分

基于一體化教務(wù)理念,結(jié)合微服務(wù)劃分原則,一體化教務(wù)系統(tǒng)服務(wù)劃分如圖3所示,主要分為三個層次。

(1)上層業(yè)務(wù)服務(wù):面向具體業(yè)務(wù)行為的上層服務(wù)。基于高校教學(xué)流程,按照學(xué)生培養(yǎng)過程中的業(yè)務(wù)環(huán)節(jié)劃分服務(wù)??紤]本研業(yè)務(wù)融合,構(gòu)建本研模型、數(shù)據(jù)一體的教學(xué)流程,每個流程負責學(xué)生培養(yǎng)過程中單一完整的一個教學(xué)環(huán)節(jié),包括從學(xué)生入學(xué)的迎新報到、學(xué)籍管理,直到學(xué)生畢業(yè)時的學(xué)位管理,同時涵蓋培養(yǎng)過程中間的各個教學(xué)環(huán)節(jié)管理,比如選課、考務(wù)等。

(2)基礎(chǔ)數(shù)據(jù)服務(wù):底層公共的基礎(chǔ)資源類服務(wù),偏向業(yè)務(wù)領(lǐng)域模型,包括學(xué)生、教師、課程、教學(xué)資源等基礎(chǔ)信息管理服務(wù)。

(3)系統(tǒng)支撐服務(wù):系統(tǒng)級公共服務(wù),支撐業(yè)務(wù)系統(tǒng)運行的通用服務(wù),如會話、前端Web、單點登錄等管理系統(tǒng)必備的基礎(chǔ)功能服務(wù)。

圖3 一體化教務(wù)系統(tǒng)服務(wù)劃分

3.一體化教務(wù)系統(tǒng)技術(shù)架構(gòu)實現(xiàn)

微服務(wù)架構(gòu)實施要求多項復(fù)雜技術(shù)支撐,為此借助業(yè)界主流的微服務(wù)PaaS平臺,減少前期基礎(chǔ)設(shè)施自動化工具建設(shè)所帶來的成本和復(fù)雜性,便于快速進行業(yè)務(wù)開發(fā)。通過對各大平臺的功能完整性和可靠性調(diào)研對比,一體化教務(wù)系統(tǒng)最終選用華為ServiceStage微服務(wù)平臺,系統(tǒng)技術(shù)架構(gòu)如圖4所示,主要包含以下層次。

(1)資源層:負責數(shù)據(jù)持久化存儲,主要包含MySQL數(shù)據(jù)庫、Redis分布式緩存、文件存儲以及學(xué)校內(nèi)部數(shù)據(jù)倉庫。

(2)平臺框架層:使用ServiceStage微服務(wù)平臺,借助CSE微服務(wù)引擎,通過Docker容器部署服務(wù),提高系統(tǒng)資源利用率。服務(wù)注冊、發(fā)現(xiàn)等治理功能由平臺提供。由于每個服務(wù)均以獨立進程運行,服務(wù)間通信需要通過網(wǎng)絡(luò)調(diào)用完成,而網(wǎng)絡(luò)調(diào)用無法保證完全可靠,因此平臺層提供重試、降級、熔斷等容錯機制來保證服務(wù)間調(diào)用的可靠性。

(3)服務(wù)層:借助微服務(wù)平臺,開發(fā)只需關(guān)注服務(wù)層。根據(jù)系統(tǒng)服務(wù)劃分方案,主要包括上層業(yè)務(wù)服務(wù)、基礎(chǔ)數(shù)據(jù)服務(wù)和系統(tǒng)支撐服務(wù)三個層次,每個層次包含各自具體服務(wù)模塊,實現(xiàn)業(yè)務(wù)能力輸出。此外,微服務(wù)平臺提供服務(wù)通信和服務(wù)管理能力,保障服務(wù)的相互通信和監(jiān)控運維。

(4)網(wǎng)關(guān)層:服務(wù)訪問入口。Web層對服務(wù)的訪問都需要通過API網(wǎng)關(guān)來實現(xiàn)請求傳遞。在微服務(wù)架構(gòu)中,API網(wǎng)關(guān)也稱作邊緣服務(wù)(Edge Service),通常采用Nginx、Zuul等反向代理實現(xiàn)。此處采用平臺特有的NodeJs+ServiceMesh實現(xiàn),NodeJs負責接收外部請求,ServiceMesh又稱服務(wù)網(wǎng)格,可理解為輕量級網(wǎng)絡(luò)代理,ServiceMesh通過與服務(wù)注冊中心保持長連接獲取每個服務(wù)實例信息,從而將不同服務(wù)的外部請求路由至相應(yīng)服務(wù)。

圖4 一體化教務(wù)系統(tǒng)微服務(wù)架構(gòu)

4.一體化教務(wù)系統(tǒng)建設(shè)成果

目前一體化教務(wù)系統(tǒng)已實現(xiàn)服務(wù)如圖5所示,包括大部分系統(tǒng)支撐服務(wù)和基礎(chǔ)數(shù)據(jù)服務(wù),以及部分上層業(yè)務(wù)服務(wù)。圖中每個圓圈及其下方服務(wù)名和版本號唯一確定一個微服務(wù),箭頭代表服務(wù)間調(diào)用關(guān)系,實際開發(fā)中會不斷對服務(wù)進行迭代從而升級版本號。

圖5 一體化教務(wù)系統(tǒng)已實現(xiàn)服務(wù)

七、結(jié)束語

一體化教務(wù)理念是高校實現(xiàn)創(chuàng)新人才培養(yǎng)、開展教學(xué)改革的關(guān)鍵與核心。為了更好地推進本研業(yè)務(wù)融合,加速一體化教務(wù)系統(tǒng)建設(shè),本文采用微服務(wù)架構(gòu)替代傳統(tǒng)教務(wù)系統(tǒng)單塊架構(gòu),研究系統(tǒng)轉(zhuǎn)型方案及服務(wù)粒度劃分,提出新老系統(tǒng)平滑過渡方式,并通過實際案例,展示轉(zhuǎn)型實踐中的系統(tǒng)技術(shù)架構(gòu)等具體實施方案。基于微服務(wù)架構(gòu)的一體化教務(wù)系統(tǒng)能夠靈活應(yīng)對持續(xù)增加的系統(tǒng)復(fù)雜性,快速響應(yīng)新形勢下的一體化教務(wù)融合需求,為高校實現(xiàn)本研貫通式培養(yǎng)奠定基礎(chǔ)。

猜你喜歡
教務(wù)架構(gòu)功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基于FPGA的RNN硬件加速架構(gòu)
教務(wù)排課對高等院校教學(xué)運行的作用分析
大學(xué)(2021年2期)2021-06-11 01:13:16
功能架構(gòu)在電子電氣架構(gòu)開發(fā)中的應(yīng)用和實踐
汽車工程(2021年12期)2021-03-08 02:34:30
淺析高校教務(wù)管理存在的問題及對策
傳播力研究(2019年8期)2019-03-20 10:58:14
關(guān)于非首都功能疏解的幾點思考
LSN DCI EVPN VxLAN組網(wǎng)架構(gòu)研究及實現(xiàn)
淺談新形勢下高校教務(wù)管理人員的素質(zhì)與培養(yǎng)
以培養(yǎng)方案為核心的教務(wù)管理系統(tǒng)開發(fā)的探索與實踐
一種基于FPGA+ARM架構(gòu)的μPMU實現(xiàn)
武宣县| 齐齐哈尔市| 柳江县| 太原市| 固镇县| 盐山县| 西畴县| 禹州市| 图木舒克市| 静安区| 衡阳县| 仁怀市| 萨迦县| 苗栗市| 武乡县| 清河县| 张家川| 阿勒泰市| 耿马| 临夏县| 祁东县| 德惠市| 普洱| 台山市| 汕尾市| 和龙市| 酉阳| 清镇市| 牙克石市| 六枝特区| 巴彦淖尔市| 定结县| 安平县| 江山市| 芦溪县| 新宁县| 曲靖市| 历史| 略阳县| 绵竹市| 威远县|