唐盛平
(廣州大學(xué)松田學(xué)院 廣東 廣州 511370)
校園內(nèi)的信息服務(wù)平臺,是當(dāng)前院校教學(xué)、教務(wù)等各方面管理所必需的基礎(chǔ)服務(wù)設(shè)施。傳統(tǒng)校園信息服務(wù)平臺存在龐大煩瑣、使用不便、拓展性弱、資源利用率較低、模型框架不清、職責(zé)混雜等問題。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,院校管理者及師生迫切需要一種移動化更強(qiáng),更具專業(yè)性,能夠社交并創(chuàng)設(shè)場景的校園信息服務(wù)平臺。近年來,微服務(wù)框架因其動態(tài)擴(kuò)展能力強(qiáng),可以獨(dú)立部署各類服務(wù)的特性,為校園信息服務(wù)平臺設(shè)計應(yīng)用提供了新思路和新方法。
微服務(wù)與傳統(tǒng)單體式架構(gòu)方案不同,將整個應(yīng)用拆分成多個功能,所有功能都是一項服務(wù),針對各項服務(wù)進(jìn)行單獨(dú)部署,構(gòu)建符合自身需求的服務(wù)架構(gòu),各項服務(wù)都是獨(dú)立的,所以當(dāng)某項服務(wù)出現(xiàn)問題時,互相不會產(chǎn)生影響。例如在進(jìn)行某項信息服務(wù)時,搜索功能、相關(guān)信息推薦功能、權(quán)限管理功能、信息獲取功能等都屬于服務(wù)類型,可以獨(dú)立運(yùn)行。將不同的服務(wù)進(jìn)行重組,服務(wù)之間可以進(jìn)行通信,并具備一定的拓展性,滿足功能集成。微服務(wù)架構(gòu)可以對各項服務(wù)同時開發(fā)構(gòu)建、調(diào)整與檢測,不需要像單體開發(fā)模式那樣一個項目影響其他項目。微服務(wù)框架開發(fā)周期很短,能夠進(jìn)行敏捷部署,拓展性強(qiáng),可以根據(jù)自身需求快速進(jìn)行服務(wù)項目調(diào)整,項目間互不干擾,無論對于開發(fā)人員還是對于使用者來講,都更加開放便捷。
微服務(wù)架構(gòu)具有服務(wù)獨(dú)立、職責(zé)獨(dú)立、部署獨(dú)立、功能獨(dú)立、輕量級通信等優(yōu)勢,在進(jìn)行微服務(wù)框架設(shè)計過程中需要處理以下問題:服務(wù)數(shù)據(jù)的來源,服務(wù)注冊和發(fā)現(xiàn),路由器設(shè)置,安全性與可靠性,服務(wù)場景,通訊方式等。開展這些服務(wù)需要在一個統(tǒng)一的微服務(wù)框架下進(jìn)行,該框架可以對各類服務(wù)進(jìn)行單獨(dú)的部署、升級、運(yùn)行、拓展等管理,并且要保證運(yùn)行過程安全可靠,容易維護(hù)??梢詫⑽⒎?wù)分為5個層次。
首先是數(shù)據(jù)層,該層為系統(tǒng)搜集數(shù)據(jù),管理數(shù)據(jù)來源和數(shù)據(jù)。
基礎(chǔ)層。該層用于管理服務(wù)的發(fā)現(xiàn)、注冊、路由器、數(shù)據(jù)容器、權(quán)限角色、系統(tǒng)運(yùn)行健康、安全可靠等方面的基礎(chǔ)功能。
服務(wù)層,該層用來確保微服務(wù)系統(tǒng)統(tǒng)一以一致的形式向外界用戶提供服務(wù)。
業(yè)務(wù)層,該層面用來管理系統(tǒng)業(yè)務(wù),確保各個層面的服務(wù)可以共同協(xié)作,完成一項任務(wù)。
最后是表示層,該層以可視化、直觀的形式將服務(wù)結(jié)果呈現(xiàn)在客戶端,由用戶檢視。
校園信息服務(wù)平臺構(gòu)建的思路是建立體系,尊重使用需求,注重實用性。學(xué)校提出使用需求,平臺構(gòu)建確保技術(shù)構(gòu)架、接口封裝,并制定開發(fā)規(guī)范,滿足校園信息服務(wù)平臺的各類場景、各類需求。
校園信息服務(wù)平臺的應(yīng)用狀態(tài)有:app門戶、微信平臺、網(wǎng)頁平臺、qq平臺等。其中app門戶滿足校內(nèi)用戶使用需求,微信、qq以及網(wǎng)頁平臺,是校內(nèi)校外訪客都可以使用的。
校園根據(jù)自己的情況定制微服務(wù)應(yīng)用。例如有的高校需要設(shè)置專升本、研究生專題、中高本專題等服務(wù),大部分學(xué)校都需要建立微信矩陣和app集成。通用的微服務(wù)應(yīng)用有校園資訊服務(wù)、教學(xué)服務(wù)、學(xué)工服務(wù)、教工服務(wù)、后勤服務(wù)等。微服務(wù)的開發(fā)平臺包含開發(fā)者管理、接口管理、開發(fā)工具與認(rèn)證管理。校園信息服務(wù)平臺下設(shè)的微服務(wù)管理平臺包含人員管理、應(yīng)用管理、安全管理、權(quán)限管理、門戶管理等。
微服務(wù)平臺上要實現(xiàn)各類教學(xué)、教務(wù)資源共享,利用網(wǎng)絡(luò)和微服務(wù)平臺,開展各類活動。在2020年疫情防控期間,使用微服務(wù)平臺開展遠(yuǎn)程教育,并且在后續(xù)教學(xué)工作中,將線上線下教學(xué)結(jié)合起來,學(xué)生可以打破時間空間限制,充分利用微服務(wù)平臺提供的各類信息開展學(xué)習(xí)活動。
校園信息服務(wù)平臺常用開源分布式框架,例如dubbo或者spring cloud。使用這些框架規(guī)涵蓋校園信息服務(wù)的各類結(jié)構(gòu)和解決方案,以及其他軟件設(shè)施。服務(wù)的發(fā)現(xiàn)和注冊采用的是spring cloud中的eureka組件,資源均衡使用的是ribbon組件,通訊、超時、容錯管理采用spring cloud中的hystrix組件進(jìn)行開發(fā)[1]。
校園信息服務(wù)平臺微服務(wù)框架實現(xiàn)是通過微信公眾號開展服務(wù),有統(tǒng)一的身份驗證方式,結(jié)合移動信息服務(wù)。整個結(jié)構(gòu)較為基礎(chǔ),學(xué)生最為關(guān)注的信息,如選課、成績、教室作為、講座信息、就業(yè)信息、財務(wù)信息、校園服務(wù)、黃頁、通知等模塊,所有模塊都是單獨(dú)的微服務(wù)。校園信息服務(wù)平臺微服務(wù)通過JSON模式發(fā)布微服務(wù)框架下的服務(wù)項目,啟動自注冊,服務(wù)地址透明可管理。為信息平臺的各項服務(wù)提供高效的通訊機(jī)制,管理校園路由,實現(xiàn)各個服務(wù)的負(fù)載均衡,將資源分配給校園用戶關(guān)注度和使用率較高的服務(wù)。根據(jù)信息獲取需要,對數(shù)據(jù)容器進(jìn)行動態(tài)遷移,針對不同物理節(jié)點(diǎn)進(jìn)行不同的擴(kuò)容方式,對系統(tǒng)進(jìn)行運(yùn)行狀態(tài)健康檢查。一個數(shù)據(jù)容器出問題了,系統(tǒng)會自動切換到其他容器上。所有級別的容器都在系統(tǒng)的配額管理下,確保各個服務(wù)不會濫用或者無故占用資源。用戶使用過程中,系統(tǒng)對服務(wù)狀態(tài)進(jìn)行監(jiān)控。一旦發(fā)生服務(wù)崩潰的問題,會及時通知用戶,用戶可以更換訪問節(jié)點(diǎn)[2]。
當(dāng)前微服務(wù)框架研究更多地集中在利用微服務(wù)解決現(xiàn)實問題,建立分層框架系統(tǒng),對信息平臺中的注冊、負(fù)載、可靠性、安全性等不同問題給出集中解決方案,基于這一框架建立校園信息服務(wù)平臺,讓校園信息服務(wù)的移動性、專業(yè)性更強(qiáng),并且能根據(jù)校園管理需求進(jìn)行服務(wù)拓展,提升了校園信息服務(wù)質(zhì)量。