摘 "要:高考志愿填報作為每位考生必須面對的環(huán)節(jié),其重要性不言而喻。針對當前高考志愿填報推薦系統(tǒng)不易擴展、難以應(yīng)對高并發(fā)、維護效率低等問題,提出一種基于微服務(wù)架構(gòu)的新高考志愿填報推薦系統(tǒng)。研究首先對系統(tǒng)的整體微服務(wù)技術(shù)架構(gòu)進行描述,詳細闡述各層的設(shè)計思想和中間基礎(chǔ)件的構(gòu)成及其作用;其次對系統(tǒng)的總體功能模塊進行說明,并以應(yīng)用關(guān)系圖的方式展示各模塊之間的聯(lián)系和前后邏輯;最后從構(gòu)建微服務(wù)、微服務(wù)統(tǒng)一管理、負載均衡、服務(wù)網(wǎng)關(guān)以及自動化部署等方面對微服務(wù)的核心架構(gòu)進行設(shè)計。研究結(jié)果表明,采用基于微服務(wù)架構(gòu)的高考志愿填報推薦系統(tǒng)能最大程度地提升應(yīng)用系統(tǒng)的性能和靈活性,滿足用戶對高并發(fā)和業(yè)務(wù)擴展的現(xiàn)實需求。
關(guān)鍵詞:微服務(wù);高考志愿;高性能;擴展性;設(shè)計原則
中圖分類號:TP302 " " "文獻標志碼:A " " " " "文章編號:2095-2945(2025)10-0028-06
Abstract: College applicationform filling is a step facing every candidate, and its importance is self-evident. In view of the problems that the current \"Recommendation System for College Application Form Filling\" is not easy to extend, difficult to cope with high concurrency, and of low maintenance efficiency, a new Recommendation System is proposed. This research first describes the overall microservice technical architecture of the system, and expounds in detail the design ideas of each layer and the composition and role of the intermediate infrastructure; then explains the overall functional modules of the system, and displays the connection and logic between each module in an application diagram; finally, the core architecture of the microservice is designed from the aspects of building microservices, unified management of microservices, load balancing, service gateway and automated deployment. The research results show that adopting the Recommendation System for College Application Form Filling based on the microservice architecture can maximize the performance and flexibility of the application system and meet the actual needs of users for high concurrency and business expansion.
Keywords: microservice; college application; high-performance; extensibility; design principles
隨著我國經(jīng)濟的不斷發(fā)展,社會對人才也提出了新的要求。為適應(yīng)變化,國家和地方教育管理部門相繼出臺了一系列的高考改革政策和措施。為體現(xiàn)高考志愿的公平性原則,我國已有多省份實行了“專業(yè)+學?!钡钠叫兄驹改J剑ㄋ椎刂v就是“分高先投檔”,這種以專業(yè)為導向的志愿填報模式,不但凸顯了考生的興趣,而且徹底改變了傳統(tǒng)的“學校+專業(yè)”的志愿填報模式?!皩I(yè)+學?!钡钠叫兄驹改J酱蟠鬁p少了“高分低錄”的現(xiàn)象,提高了分數(shù)的利用率,對大部分考生來說更加公平。新高考改革的另一亮點,便是采取“3+3”的科目設(shè)置方式,即打破原有的文理分科模式,由學生根據(jù)自己的興趣愛好、學業(yè)成績來自主選擇科目,賦予學生更多的“選擇權(quán)”。
志愿填報作為高考過后的重要一環(huán),牽動著廣大考生和家長的心。志愿填報是否合理不僅關(guān)系到考生是否能被心儀高校的理想專業(yè)錄取,也關(guān)系到高校對人才的合理選拔。經(jīng)調(diào)查發(fā)現(xiàn),專心備戰(zhàn)的考生對高考志愿填報政策了解甚少,加之部分家長缺乏志愿填報的專業(yè)知識,并且每個省份的志愿填報可能存在不同,對文字的解讀也存在一定的偏差。如何讓沒有多少高考志愿填報專業(yè)知識的考生能最大程度地利用考生高考分數(shù),并結(jié)合自身的興趣愛好填報心儀的院校和專業(yè),是當前志愿填報最實際、最現(xiàn)實的問題。為解決盲目填報高考志愿導致的“高分低就”“高分不就”及“興趣與專業(yè)不符”等問題,實現(xiàn)精準報考,做到“簡單輸入基礎(chǔ)信息,智能輸出最優(yōu)志愿”,國內(nèi)已有不少專家學者對高考志愿填報推薦系統(tǒng)進行了相關(guān)研究。2020年,孫彥幫等[1]設(shè)計了一款能幫助考生填報志愿的APP,通過對考生進行特征分析,為適合的考生推薦錄取率較高的院校及專業(yè)。2021年,洪濤等[2]采用微信小程序,根據(jù)用戶行為偏好,基于大數(shù)據(jù)分析技術(shù),推薦適合考生的學校和專業(yè)。2022年,劉明奇等[3]通過Java Web完成了高考志愿智能推薦系統(tǒng)的開發(fā)與實現(xiàn)。測試結(jié)果顯示,系統(tǒng)具有較好的易用性和實用性。2023年,李慧靜等[4]開發(fā)了一款基于B/S的軟件系統(tǒng),旨在服務(wù)考生填報志愿,實現(xiàn)分數(shù)與院校專業(yè)的合理匹配,案例分析表明,該軟件系統(tǒng)實現(xiàn)了基于數(shù)據(jù)驅(qū)動的高考志愿決策。2024年,胡志超等[5]設(shè)計與開發(fā)了招生信息管理系統(tǒng),并根據(jù)新高考改革省份錄取系統(tǒng)特點,進行了系統(tǒng)的優(yōu)化設(shè)計與分析。
隨著高考人數(shù)的逐年攀升,高并發(fā)訪問無疑給高考志愿填報推薦系統(tǒng)的運行帶來了巨大的挑戰(zhàn),同時為適應(yīng)高考的深化改革,部分業(yè)務(wù)流程和邏輯也會不斷變更,高可擴展性也成為高考志愿填報推薦系統(tǒng)需要考慮的問題。通過梳理相關(guān)文獻,發(fā)現(xiàn)現(xiàn)有的高考志愿填報推薦系統(tǒng)一般注重功能的設(shè)計或者推薦算法的優(yōu)化,而很少注重推薦系統(tǒng)本身性能的提升和針對業(yè)務(wù)的擴展性研究。因此,本文提出將微服務(wù)架構(gòu)應(yīng)用到高考志愿填報推薦系統(tǒng)中,利用其強大的業(yè)務(wù)劃分功能和快速部署能力,高度整合各業(yè)務(wù)模塊,從系統(tǒng)性能、業(yè)務(wù)可擴展性、部署靈活性等方面提出了具體的解決方案,以期達到更好的用戶體驗和應(yīng)用價值,本研究在助力考生填報志愿方面具有重要的現(xiàn)實意義。
1 "系統(tǒng)整體微服務(wù)技術(shù)架構(gòu)
早期的信息系統(tǒng)一般采用單體架構(gòu),如圖1所示,即所有的功能模塊全都耦合在一塊,代碼量大,后期維護困難,存儲方式單一,這種架構(gòu)會隨著業(yè)務(wù)復雜度和數(shù)據(jù)量的增加而變得效率低下、擴展性差,即使應(yīng)用緩存服務(wù)器和負載均衡技術(shù)也很難解決其內(nèi)生問題。
隨著信息技術(shù)的快速發(fā)展和高考改革的不斷深入,各垂直領(lǐng)域的信息平臺也相繼出現(xiàn)。為實現(xiàn)數(shù)據(jù)共享,數(shù)據(jù)和信息交流變得日益頻繁和復雜,多數(shù)據(jù)源已成為現(xiàn)代大型系統(tǒng)的一個重要特征,加之用戶數(shù)量的不斷增加,孤立的系統(tǒng)已無法滿足現(xiàn)實的需求,建立開放、高可擴展、技術(shù)異質(zhì)的架構(gòu)變得越來越重要[6],這既是外部業(yè)務(wù)需求的驅(qū)使,也是軟件技術(shù)發(fā)展到一定階段的要求。為了解決傳統(tǒng)單體架構(gòu)應(yīng)用在現(xiàn)代軟件開發(fā)和運維中所面臨的諸多挑戰(zhàn),微服務(wù)技術(shù)應(yīng)運而生。本研究基于SpringCloud微服務(wù)架構(gòu)體系搭建新高考志愿填報推薦系統(tǒng),微服務(wù)架構(gòu)(Microservice Architecture)是一種將單體應(yīng)用拆分成一系列細粒度、獨立的服務(wù)單元的架構(gòu)模式。每個服務(wù)單元運行在獨立的進程中,并通過超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)、遠程過程調(diào)用等輕量級通信機制進行數(shù)據(jù)交互,可以部署在不同的服務(wù)器上獨立運行。這種架構(gòu)能提升系統(tǒng)的靈活性、可擴展性、可維護性和可靠性。近年來,隨著自動化運維工具和容器技術(shù)的成熟,微服務(wù)架構(gòu)的部署和管理也變得更加方便,這進一步推動了其在實際項目中的應(yīng)用。本系統(tǒng)的微服務(wù)整體技術(shù)架構(gòu)如圖2所示,分為持久層、中間件基礎(chǔ)層、微服務(wù)集群層、服務(wù)網(wǎng)關(guān)集群層、負載均衡層和應(yīng)用層。
圖1 "單體架構(gòu)圖
持久層負責將數(shù)據(jù)存儲到各類數(shù)據(jù)庫中,為不同業(yè)務(wù)系統(tǒng)提供數(shù)據(jù)支撐,該層包含關(guān)系型數(shù)據(jù)庫MySQL集群、非關(guān)系型數(shù)據(jù)庫MongoDB和Redis分布式緩存以及HDFS分布式文件存儲系統(tǒng)。通過本層的精心設(shè)計,微服務(wù)架構(gòu)能提供可靠、靈活和可擴展的數(shù)據(jù)存儲解決方案。
中間件基礎(chǔ)層主要提供各類中間件服務(wù)。當服務(wù)提供者啟動時會向注冊中心Eureka注冊自己的信息,服務(wù)消費者則通過注冊中心獲取相應(yīng)的服務(wù)列表并進行調(diào)用。SpringCloud Config配置中心為微服務(wù)架構(gòu)中的服務(wù)提供集中的外部配置支持,允許開發(fā)人員將應(yīng)用程序的配置信息從代碼中分離出來,并在運行時動態(tài)獲取應(yīng)用程序配置。Sleuth追蹤用于記錄請求的耗時、網(wǎng)絡(luò)延遲等,是一個分布式跟蹤系統(tǒng)。認證服務(wù)作為處理用戶授權(quán)和認證的關(guān)鍵部分,通過Spring Security等安全框架來實現(xiàn)權(quán)限的控制。RabbitMQ是消息中間件,用于在各分布式系統(tǒng)中傳遞數(shù)據(jù),達到了解耦和擴展的目的。ELK能將不同服務(wù)器的日志進行集中化管理,提升運維人員的工作效率。
微服務(wù)集群層由各個拆分后的獨立微服務(wù)單元構(gòu)成,采用Docker容器技術(shù)以服務(wù)集群的方式部署在服務(wù)器上,各微服務(wù)之間通過輕量級通信方式進行調(diào)用,它們都有自己獨立的進程。從外部來看,這些微服務(wù)共同構(gòu)成一個完整的應(yīng)用系統(tǒng)[7]。該層主要為外部提供各種服務(wù),如含一分一段微服務(wù)、志愿填報微服務(wù)等。
服務(wù)網(wǎng)關(guān)集群層是系統(tǒng)的入口,負責接收和轉(zhuǎn)發(fā)所有外部請求,客戶端無須和微服務(wù)直接交互。這樣既簡化了客戶端與服務(wù)之間的交互過程,也可以通過鑒權(quán)機制保證了后臺服務(wù)的安全性。
負載均衡層通過一定的均衡策略,將請求進行轉(zhuǎn)發(fā),避免某個實習空閑而其他實例過載的情形,這有助于提升系統(tǒng)的吞吐量和整體性能。負載均衡層能將出現(xiàn)故障的實例從服務(wù)列表中刪除,將請求轉(zhuǎn)發(fā)至其他健康實例上,以提升系統(tǒng)的可用性。
應(yīng)用層是指各業(yè)務(wù)系統(tǒng)前端部分,其允許用戶通過多種方式訪問各類服務(wù),該層通過調(diào)用、組合與編排,協(xié)調(diào)多個微服務(wù)完成復雜的業(yè)務(wù)操作。通過將微服務(wù)提供的數(shù)據(jù)以適合不同前端需要的形式進行轉(zhuǎn)換,提升了用戶的體驗度。
2 "系統(tǒng)總體設(shè)計原則
新高考志愿填報系統(tǒng)總體設(shè)計應(yīng)遵循以下原則。①單一職責原則:每個微服務(wù)按照業(yè)務(wù)進行拆分,使得每個微服務(wù)只負責某一個特定的業(yè)務(wù)功能,后期可根據(jù)需要增加或者刪除微服務(wù)。②輕量化協(xié)議通信原則:微服務(wù)架構(gòu)中,微服務(wù)之間需要進行通信。Restful API 作為一種簡單、通用的標準接口,可實現(xiàn)微服務(wù)之間低帶寬、跨平臺、跨語言的輕量級通信。③高內(nèi)聚低耦合原則:微服務(wù)內(nèi)部應(yīng)當具有高度聚合的特性,即服務(wù)內(nèi)部之間的元素應(yīng)緊密關(guān)聯(lián)、密切配合,而微服務(wù)之間的依賴關(guān)系應(yīng)當盡量松散,彼此之間的依賴性要小,可以根據(jù)業(yè)務(wù)進行快速擴展,同時不會影響整個系統(tǒng)的穩(wěn)定性。④容器化部署原則:現(xiàn)代大型應(yīng)用已經(jīng)變得越來越復雜,如何進行高效管理和靈活部署已成為一個重要話題。容器化技術(shù)可以將微服務(wù)打包成一個容器,采用Docker 和 Kubernetes進行管理,快速實現(xiàn)容器的增加和刪除,從而達到程序自動化管理、靈活部署的目標。⑤高可用性和容錯性原則:微服務(wù)應(yīng)具有較高的可用性和容錯性,以減少系統(tǒng)停機時間,保證系統(tǒng)的持續(xù)、穩(wěn)定運行。可通過如下幾種方式實現(xiàn)高可用,即負載均衡、冗余設(shè)計、預警機制、故障轉(zhuǎn)移和自動化恢復等。⑥統(tǒng)一管理原則:需要對系統(tǒng)中的所有模塊進行統(tǒng)一管理。每個微服務(wù)都應(yīng)當被監(jiān)控,可以使用日志記錄工具來監(jiān)控可用性、性能、響應(yīng)時間和錯誤率等指標。通過配置中心對微服務(wù)的配置進行統(tǒng)一管理,以利于實現(xiàn)配置的集中管理和動態(tài)更新,降低配置的復雜性和錯誤率。⑦SpringBoot和SpringCloud相整合的原則:SpringBoot內(nèi)置了很多常用的庫、組件以及依賴集合,讓開發(fā)者快速搭建、部署和運行微服務(wù)。SpringCloud作為構(gòu)建分布式應(yīng)用的成熟框架,可以實現(xiàn)微服架構(gòu)的各種功能。⑧多技術(shù)棧原則:微服務(wù)架構(gòu)允許不同的服務(wù)、不同的團隊使用不同的技術(shù)棧,這有利于充分利用各種技術(shù)優(yōu)勢,提升系統(tǒng)的靈活性,開發(fā)技術(shù)??梢訨AVA體系為主,同時兼容其他技術(shù)棧以利于團隊的整合[8]。
3 "系統(tǒng)總體功能模塊說明
高考志愿填報推薦系統(tǒng)主要包含登錄/注冊、首頁、查專業(yè)、查學校、志愿填報和MBIT性格測試6大模塊,每個一級模塊下分別包含多個二級模塊,其系統(tǒng)模塊應(yīng)用關(guān)系如圖3所示。圖3中的實線表示一種包含關(guān)系,圖中的虛線表示有前后邏輯關(guān)系。
當游客進入首頁時,即可了解最新資訊、熱門專業(yè)、熱門大學、省控線、一分一段和院校排行等信息。以一分一段功能為例,系統(tǒng)將根據(jù)所在地區(qū)、錄取年份以及考生類別,分段顯示一分一段信息。數(shù)據(jù)將用2種方式呈現(xiàn),一種為普通的列表,另外一種為可視化折線圖。
進入查學校模塊后,考生可以根據(jù)所屬省份、院校類型、院校性質(zhì)等對院校進行查找,了解指定高校的畢業(yè)生簽約情況以及就業(yè)單位性質(zhì)、專業(yè)就業(yè)率、錄取分數(shù)、錄取概率和學校專業(yè)等信息。在查專業(yè)模塊中,系統(tǒng)默認按照專業(yè)代碼進行排序,用戶也可以根據(jù)專業(yè)門類和專業(yè)層次進行精準查找。MBTI,全稱為邁爾斯-布里格斯類型指標,是一種基于人格類型理論發(fā)展起來的性格評估工具和自我報告問卷,其測試量表有4個人格維度,即注意方向、認知方式、判斷方式和生活方式。通過排列組合將人的心理活動規(guī)律和性格劃分成了16種類型。本系統(tǒng)將MBTI測試應(yīng)用于高考志愿填報,輔助考生選擇專業(yè),挖掘考生的興趣和愛好。
志愿填報將為考生提供院校和專業(yè)的智能推薦,系統(tǒng)將性格參數(shù)、高考成績、生源地和選科情況等數(shù)據(jù)進行綜合運算,將符合條件的志愿推薦結(jié)果按錄取概率進行排序,以方便考生和家長做出選擇。
4 "系統(tǒng)微服務(wù)核心架構(gòu)設(shè)計
4.1 "微服務(wù)設(shè)計
系統(tǒng)按業(yè)務(wù)進行微服務(wù)劃分,采用SpringBoot開發(fā)單個微服務(wù)應(yīng)用,通過SpringCloud相關(guān)組件實現(xiàn)服務(wù)調(diào)用和統(tǒng)一管理,這種細粒度的服務(wù)劃分和基于REST的通信方式能顯著提升系統(tǒng)的擴展性。
4.1.1 "構(gòu)建微服務(wù)
為提升代碼的復用度和簡化系統(tǒng)開發(fā),微服務(wù)分為基礎(chǔ)微服務(wù)和業(yè)務(wù)微服務(wù)??蓪⑾到y(tǒng)多處用到的功能封裝成基礎(chǔ)服務(wù),其為其他業(yè)務(wù)微服務(wù)提供必要支撐。為保證Restful風格的實現(xiàn),需在項目中創(chuàng)建公共子項目,以定義所有業(yè)務(wù)微服務(wù)之間的訪問接口標準與傳輸類別,方便微服務(wù)之間的互相調(diào)用與數(shù)據(jù)傳遞。業(yè)務(wù)微服務(wù)在整個志愿填報推薦系統(tǒng)中起著重要的作用,這些業(yè)務(wù)微服務(wù)組件相互協(xié)作,為上層提供業(yè)務(wù)接口。下面以高考資訊微服務(wù)為例來說明微服務(wù)的設(shè)計步驟:①在父項目中建立高考資訊子模塊,且在父項目中增加框架依賴配置,為微服務(wù)配置獨立的數(shù)據(jù)庫、連接池等。②在資訊子模塊的pom.xml中加入公共依賴和框架依賴,并在application.yml文件中配置微服務(wù)的訪問端口。③定義業(yè)務(wù)層接口子類InforService以實現(xiàn)具體的業(yè)務(wù)功能,同時定義REST控制類。④定義資訊子模塊的啟動類,完成該微服務(wù)的構(gòu)建。其他業(yè)務(wù)微服務(wù)構(gòu)建以此類推。
4.1.2 "微服務(wù)統(tǒng)一管理設(shè)計
高考志愿填報推薦系統(tǒng)包含眾多微服務(wù),其目標是實現(xiàn)各功能模塊的高度整合和統(tǒng)一管理。為提升整合效率,方便不同微服務(wù)之間的相互調(diào)用,本項目采用Eureka組件來構(gòu)建注冊中心并對微服務(wù)進行統(tǒng)一管理。當服務(wù)實例啟動時,會向Eureka Server注冊自己的信息,包括IP、端口號、服務(wù)名稱等。服務(wù)調(diào)用方會自動在注冊中心拉取服務(wù)列表,通過在接口類上加@FeignClient注解即可實現(xiàn)Feign接口的定義,采用公共方法暴露的方式來形成接口,供其他服務(wù)使用。為了讓調(diào)用者獲取完整的服務(wù)信息,應(yīng)在每個微服務(wù)的application.yml中使用eureka.instance.metadata-map 配置相關(guān)注冊信息。同時還可以通過啟用發(fā)現(xiàn)功能對無用的微服務(wù)進行清除,實現(xiàn)對有效微服務(wù)的動態(tài)管理。
針對單體應(yīng)用,一般通過修改profile項切換環(huán)境配置參數(shù),即可更新服務(wù)配置。但對于高考志愿填報推薦系統(tǒng)這種多微服務(wù)應(yīng)用,則需要根據(jù)環(huán)境進行不同的配置,使系統(tǒng)具有動態(tài)調(diào)整能力。實現(xiàn)動態(tài)更新需要使用SpringCloud config組件,通過修改客戶端微服務(wù)的bootsrap.yml,并將其在注冊中心注冊,可為其他微服務(wù)提供統(tǒng)一的配置管理服務(wù)。
4.2 "負載均衡設(shè)計
為滿足系統(tǒng)高可用需求,應(yīng)從架構(gòu)層面出發(fā),在設(shè)計階段就要充分考慮負載均衡。當前微服架構(gòu)的主流負載均衡算法有輪詢算法、最快響應(yīng)時間算法、最少連接算法等等。在服務(wù)調(diào)用中,負載均衡通過設(shè)定閾值并根據(jù)當前負載情況來選擇集群中合適的實例來處理請求,當負載達到峰值時,采用放棄服務(wù)的方式來確保系統(tǒng)的可用性。在本項目中,對注冊中心、客戶端和服務(wù)端均采用負載均衡技術(shù)。注冊中心作為微服務(wù)架構(gòu)的核心樞紐,為保證其高可用,必須部署多個Eureka Server實例到多臺可靠物理主機,通過修改Eureka項目的pom.xml,并讓多副本之間相互注冊來實現(xiàn)??蛻舳素撦d均衡是微服務(wù)架構(gòu)的一個重要特性,在SpringCloud中,可以使用@LoadBalanced注解的RestTemplate或WebClient來實現(xiàn)客戶端負載均衡。在Eureka配合下,Ribbon可以從注冊中心獲取服務(wù)列表,并采用其內(nèi)置的負載策略分配一個服務(wù)提供者實例供客戶端調(diào)用。服務(wù)端負載均衡通常由Nginx來承擔,在接收到客戶端請求后,根據(jù)預設(shè)的均衡算法將請求分發(fā)到后端多個服務(wù)實例上。本項目中,需在網(wǎng)關(guān)集群前加入Nginx反向代理,通過在Nginx中添加服務(wù)網(wǎng)關(guān)端口集群,來保證服務(wù)網(wǎng)關(guān)的穩(wěn)定運行[9]。
4.3 "服務(wù)網(wǎng)關(guān)設(shè)計
服務(wù)網(wǎng)關(guān)是高考志愿填報推薦系統(tǒng)的入口,充當連接客戶端和后臺服務(wù)的中介[10],起到將內(nèi)外系統(tǒng)隔離的作用。服務(wù)網(wǎng)關(guān)將所有對外提供的服務(wù)以API接口的方式進行統(tǒng)一管理,降低了客戶端調(diào)用的難度,使得客戶端只用關(guān)心與網(wǎng)關(guān)的交互,而不用關(guān)心后端具體的微服務(wù)。服務(wù)網(wǎng)關(guān)最主要的功能是請求過濾和路由轉(zhuǎn)發(fā),請求過濾則是通過token、白名單、緩存的綜合使用來實現(xiàn)。路由轉(zhuǎn)發(fā)能確保數(shù)據(jù)按照正確的路徑進行傳輸,通過在spring.cloud.gateway.routes屬性中配置路由規(guī)則來實現(xiàn)。本項目采用Zuul作為網(wǎng)關(guān)組件,具有良好的可擴展性和靈活性,支持動態(tài)路由和過濾器,能夠?qū)φ埱筮M行鑒權(quán)、認證、監(jiān)控、限流和日志收集等操作。
4.4 "自動化部署設(shè)計
高考志愿填報推薦系統(tǒng)的運行往往伴隨著需求的變更,為了能夠快速適應(yīng)需求變化,本項目采用持續(xù)集成的方式實現(xiàn)軟件的自動化構(gòu)建與部署。綜合使用版本控制工具,項目管理工具(如Jenkins)和容器技術(shù)(如Docker),可實現(xiàn)自動化構(gòu)建、測試和部署。自動化部署提高了軟件發(fā)布和開發(fā)的效率,做到了發(fā)布新配置不必重新部署,降低了人力成本,弱化了系統(tǒng)維護對用戶使用的影響,為項目實施提供了有力的保障。
5 "結(jié)束語
本文通過對當前高考志愿填報推薦系統(tǒng)的現(xiàn)狀進行分析,指出傳統(tǒng)單體架構(gòu)業(yè)務(wù)擴展性差、性能低、維護困難等問題,結(jié)合微服務(wù)架構(gòu)的優(yōu)點和設(shè)計原則,提出了基于微服務(wù)架構(gòu)的新高考志愿填報推薦系統(tǒng)。為闡述業(yè)務(wù)微服務(wù)的設(shè)計過程和思想,以高考資訊微服務(wù)為例進行了說明,強調(diào)了微服務(wù)在設(shè)計時需要重點考慮的幾個方面,探索了多個微服務(wù)組件在高考志愿填報推薦系統(tǒng)中的綜合應(yīng)用。項目整體采用SpringBoot和SpringCloud相結(jié)合的原則,充分發(fā)揮各自的技術(shù)優(yōu)勢,快速開發(fā)基于微服務(wù)架構(gòu)的應(yīng)用。系統(tǒng)各微服務(wù)實例獨立開發(fā),采用輕量級通信方式進行相互協(xié)作,提高了系統(tǒng)的可擴展性、可維護性和可重用性,自動化部署又提升了軟件開發(fā)和部署效率,做到了發(fā)布新配置不必重新部署,降低了系統(tǒng)維護對用戶使用的影響。集群設(shè)計通過運行微服務(wù)實例的多個副本,降低了單模塊故障對整個系統(tǒng)的影響。
本系統(tǒng)以可擴展、模塊化和靈活性為特點,為高考志愿填報提供了一種有效的手段,提高了系統(tǒng)性能和自動化程度,為考生和家長的高考志愿填報提供了一種高可用、可擴展的解決方案,同時也為類似項目的開發(fā)和運維提供了參考。
參考文獻:
[1] 孫彥幫,賀裕,王林,等.基于Android的高考志愿推薦App設(shè)計[J].計算機時代,2020(2):39-42.
[2] 洪濤,楊亦足,徐宏宇,等.大數(shù)據(jù)啟發(fā)的高考志愿輔助填報系統(tǒng)[J].信息系統(tǒng)工程,2021(5):13-14.
[3] 劉明奇,程江珂,陳曉蘭.高考志愿填報輔助決策系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代信息科技,2022,6(17):38-40,44.
[4] 李慧靜,姚海霞.基于數(shù)據(jù)驅(qū)動的陽光高考志愿決策軟件設(shè)計與實現(xiàn)[J].現(xiàn)代計算機,2023,29(22):89-93,103.
[5] 胡志超,王淑慧.新高考改革模式下的高校招生信息管理系統(tǒng)設(shè)計與分析[J].數(shù)字通信世界,2024(1):64-66,79.
[6] 鄭旭,范紅杰,柳軍飛.基于微服務(wù)的預分配額度限流設(shè)計研究[J].計算機科學,2024,51(6):346-353.
[7] 王歡,趙成嶸,張雯.基于微服務(wù)和中臺架構(gòu)的智慧校園基礎(chǔ)平臺設(shè)計[J].電子技術(shù),2023,52(10):31-33.
[8] 勞雪松.基于微服務(wù)的校園CRP平臺核心架構(gòu)設(shè)計[J].宿州學院學報,2023,38(9):12-15,21.
[9] 姚礪,張海路,徐夢娜,等.基于微服務(wù)架構(gòu)的木材訂單系統(tǒng)設(shè)計與應(yīng)用[J].智能計算機與應(yīng)用,2023,13(3):93-98.
[10] 陳匯遠.基于微服務(wù)架構(gòu)的高鐵列控仿真測試系統(tǒng)的研究與設(shè)計[J].計算機應(yīng)用與軟件,2024,41(7):336-341.