• 
    

    
    

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

      基于Spring Cloud的系統(tǒng)設(shè)計與優(yōu)化

      2021-11-30 15:55:37廖梓洋曾玉林
      科技經(jīng)濟(jì)導(dǎo)刊 2021年24期
      關(guān)鍵詞:在線視頻分布式部署

      廖梓洋,曾玉林

      (四川大學(xué)錦城學(xué)院 計算機(jī)與軟件學(xué)院,四川 成都 611731)

      隨著互聯(lián)網(wǎng)的飛速發(fā)展,數(shù)字經(jīng)濟(jì)時代,大眾學(xué)習(xí)的個性化需求不斷增強(qiáng),時間碎片化問題逐漸增多,為在線教育提供了廣闊的發(fā)展前景。特別是遭遇近些年的突發(fā)狀況,學(xué)校以及培訓(xùn)機(jī)構(gòu)無法進(jìn)行線下教學(xué),助推了教育行業(yè)的線上轉(zhuǎn)變。但也正是由于大量增長的用戶來使用在線學(xué)習(xí)服務(wù),導(dǎo)致許多傳統(tǒng)的單體架構(gòu)的學(xué)習(xí)系統(tǒng)無法承載突然增長的用戶數(shù)量,從而導(dǎo)致了服務(wù)器癱瘓。因此,隨著微服務(wù)的風(fēng)靡,我們考慮設(shè)計一種微服務(wù)架構(gòu)的在線學(xué)習(xí)系統(tǒng)。微服務(wù)架構(gòu)具有獨立部署、動態(tài)擴(kuò)展、快速迭代等優(yōu)勢,可使開發(fā)者短時間內(nèi)構(gòu)建高可部署性,高可擴(kuò)展性的應(yīng)用。

      1.微服務(wù)架構(gòu)概述

      微服務(wù)是一個具有高并發(fā)、高擴(kuò)展、獨立部署等特性的應(yīng)用,它將復(fù)雜的應(yīng)用系統(tǒng)按照業(yè)務(wù)劃分,以獨立業(yè)務(wù)模塊的形式拆解成多個服務(wù)單元。微服務(wù)架構(gòu)的出現(xiàn)是互聯(lián)網(wǎng)飛速發(fā)展的必然結(jié)果,是將傳統(tǒng)的單服務(wù)架構(gòu)垂直拆分為若干個微服務(wù),每個微服務(wù)都是單獨的模塊,擁有單獨的數(shù)據(jù)庫與配置等等,并且由于spring Cloud 能異構(gòu)支持多種語言開發(fā),所以能夠?qū)⑾到y(tǒng)不同的模塊分配交給最佳的技術(shù)團(tuán)隊去完成,然后每個微服務(wù)通過Nacos 的注冊中心進(jìn)行協(xié)助,完成一個完整的功能,極大提高了系統(tǒng)完成的效率和質(zhì)量。

      2.系統(tǒng)的設(shè)計與實現(xiàn)

      2.1 系統(tǒng)的總體框架

      在線視頻學(xué)習(xí)系統(tǒng)是采用Spring Cloud 微服務(wù)框架,并且是前后端完全分離式進(jìn)行開發(fā)。該學(xué)習(xí)系統(tǒng)前端采用Vue.js、Node.js、Element UI、Axios 等技術(shù)進(jìn)行開發(fā)環(huán)境搭建以及頁面的開發(fā)。而后端框架采用的是Spring Cloud、Spring Boot、Mybatis-plus、Swagger、Nacos 等關(guān)鍵技術(shù)開發(fā)。

      存儲方面則是運用到了Mysql 數(shù)據(jù)庫、Redis 緩存、阿里云OSS 以及系統(tǒng)日志等技術(shù)來完成,同時可采用Hystrix 斷路器來解決服務(wù)響應(yīng)超時的問題。使用阿里巴巴的Nacos 技術(shù)來完成微服務(wù)注冊中心、配置中心持久化。隨著前后端都相繼完成開發(fā),最后則是可通過Nginx 反向代理以及Gate Away 網(wǎng)關(guān)技術(shù)來完成交互。

      2.2 系統(tǒng)的功能模塊設(shè)計

      2.2.1 前臺用戶學(xué)習(xí)模塊

      在線視頻學(xué)習(xí)系統(tǒng)的前臺學(xué)習(xí)模塊是面向廣大用戶設(shè)計的瀏覽器客戶端,它提供在線視頻播放、相關(guān)文章查看、導(dǎo)師問答、留言互動、用戶中心、微信支付與登錄等等服務(wù)。同時在性能方面,考慮到瀏覽器客戶端的訪問次數(shù)可能會因為運營推廣而日益增加導(dǎo)致服務(wù)器壓力過大的情況,可以采取分布式集群部署的方式,引入緩存、負(fù)載均衡來解決。

      用戶通過微信或者手機(jī)號進(jìn)行注冊,注冊后系統(tǒng)會默認(rèn)為普通用戶,在使用該系統(tǒng)時會封鎖一些會員功能。當(dāng)然,用戶可以通過多種途徑來進(jìn)行升級,一是根據(jù)在線學(xué)習(xí)的時長,二是根據(jù)留言互動中正確解答問題的次數(shù),三是直接通過在線充值進(jìn)行快速升級,而當(dāng)用戶成為會員時,就會解鎖一系列權(quán)限,從而得到更好的用戶體驗。

      2.2.2 后臺運營管理模塊

      該系統(tǒng)的后端運營管理模塊則是為系統(tǒng)的后臺運營維護(hù)人員而設(shè)計的,它為運營維護(hù)人員提供了如下功能:用戶管理、權(quán)限設(shè)置、導(dǎo)師管理、數(shù)據(jù)統(tǒng)計、課程管理、視頻管理、文章資源、問答管理、幫助中心、短信服務(wù)、系統(tǒng)消息等等。

      后臺運營維護(hù)人員通過獲取權(quán)限的管理賬戶成功登錄進(jìn)后臺管理系統(tǒng)后,可以根據(jù)數(shù)據(jù)統(tǒng)計中各個視頻、導(dǎo)師、課程的點擊率以及熱度來對前臺用戶頁面的相關(guān)內(nèi)容進(jìn)行優(yōu)化,把最近熱度最高的視頻、導(dǎo)師、課程排版到最首頁,從而通過優(yōu)質(zhì)的資源來吸引更多的用戶。

      通過后臺系統(tǒng)的路由導(dǎo)航可以進(jìn)入不同功能的管理模塊,可以查看各個模塊的具體內(nèi)容,也可以通過精準(zhǔn)查詢或者模糊匹配來完成相關(guān)目標(biāo)的查找,從而進(jìn)行相應(yīng)的更改。

      2.3 數(shù)據(jù)庫設(shè)計

      在線視頻學(xué)習(xí)系統(tǒng)使用目前較為流行的關(guān)系型數(shù)據(jù)庫MySQl 進(jìn)行存儲,采用多張表對相關(guān)的內(nèi)容進(jìn)行存儲,部分表之間存在一對多、多對多等關(guān)系,對部分關(guān)鍵的數(shù)據(jù)表設(shè)計如下。

      前臺用戶user 表用來存儲用戶的相關(guān)信息,具體的字段名包括用戶id、電話mobileid、密碼password、昵稱name、性別(1 女,0 男)sex、用戶頭像photo、用戶簽名sign、用戶創(chuàng)建時間time_create、用戶更新時間time_modified。課程course 表用來存儲前臺展示課程的相關(guān)視頻以及資料,具體的字段包括課程id、課程講師teacher_id、課程專業(yè)subject_id、課程標(biāo)題title、課程總課時lessom_time、課程封面圖片路徑cover、瀏覽數(shù)量view_count、課程發(fā)布狀態(tài)course_status。視頻video 表用來存儲學(xué)習(xí)視頻的資源地址、播放次數(shù)等等,具體的字段包括視頻id、課程course_id、節(jié)點名稱title、云端視頻資源video_sourse_id、播放字?jǐn)?shù)play_count、是否可以免費聽(0 收費,1免費)is_free、視頻時長video_time、視頻資源大小size。數(shù)據(jù)統(tǒng)計data_statistics 表用來存儲每日的新增課程和視頻數(shù),記錄登錄注冊的用戶數(shù)量,具體的字段包括數(shù)據(jù)統(tǒng)計主鍵id、統(tǒng)計日期data_time、注冊人數(shù)user_register、登錄人數(shù)user_login、每日視頻新增數(shù)video_add、每日視頻播放數(shù)video_view。訂單pay 表存儲了訂單的金額數(shù)量以及支付狀態(tài)等等,具體的字段包括訂單號id、訂單支付完成時間pay_time、支付金額fee、支付狀態(tài)status、訂單創(chuàng)建時間pay_create、視頻更新時間pay_modified。

      3.系統(tǒng)的性能優(yōu)化構(gòu)思

      3.1 容器技術(shù)

      該系統(tǒng)采用的微服務(wù)框架技術(shù),相對于傳統(tǒng)的單體服務(wù)架構(gòu)系統(tǒng)的一臺機(jī)器完成部署,現(xiàn)在構(gòu)想可以將眾多模塊的微服務(wù)分配到成百上千臺服務(wù)器完成部署,只是在進(jìn)行部署時需要多節(jié)點有序發(fā)布,這時就需要容器技術(shù)(docker、k8s),用來瞬間完成對服務(wù)器的成百上千的節(jié)點擴(kuò)容;這樣一來,假若明天是活動日需要容納更多用戶的高頻訪問,那么這些擴(kuò)容的節(jié)點會自動接入我們的微服務(wù)集群,注冊到Nacos 的注冊中心,那么注冊中心的注冊表也會及時地自動更新并同步到各個微服務(wù)的本地注冊表中,就能實現(xiàn)新增微服務(wù)之間的協(xié)助,從而瞬間完成對外提供高性能的服務(wù);當(dāng)活動日過去之后,可以將這些容器去掉,恢復(fù)到以前滿足日常訪問的性能即可。

      3.2 分布式集群部署

      關(guān)于微服務(wù)架構(gòu)、分布式架構(gòu)、集群架構(gòu),通常認(rèn)為微服務(wù)架構(gòu)是分布式架構(gòu)的實現(xiàn)方式,下面舉個系統(tǒng)實例來解釋分布式架構(gòu)的概念。例如該系統(tǒng)的一個完整視頻播放服務(wù)是由視頻獲取、視頻播放、視頻時長統(tǒng)計等不同的微服務(wù)分開來共同通訊協(xié)作完成,這就構(gòu)成了分布式部署。那么,如果將其中的某一個微服務(wù)例如視頻播放部署成多個相同的微服務(wù),它們之間配置相同,但是互相不協(xié)助,這時假如突然出現(xiàn)大量的用戶進(jìn)行視頻播放,那么就可以通過多層均衡負(fù)載,將這些微服務(wù)請求合理地分散到各個集群式部署的相關(guān)視頻播放微服務(wù)上去,這樣就能有效減緩單個服務(wù)器的壓力,那么每個分布式部署的微服務(wù)都采用這樣的集群式部署,系統(tǒng)的性能會得到提高,并且提高了系統(tǒng)的容錯率。

      3.3 均衡負(fù)載

      均衡負(fù)載是指將工作按照一定的規(guī)則分配給多個處理單元共同完成整改任務(wù)的一種協(xié)同工作方式,根據(jù)實現(xiàn)的方式不同可以分為硬件負(fù)載均衡和軟件負(fù)載均衡。相較于類似F5 等硬件均衡負(fù)載,反向代理Nginx、LVS 等軟件均衡負(fù)載具備價格更優(yōu)惠、部署更方便等等優(yōu)點,因此大多還是采用軟件均衡負(fù)載。當(dāng)然,我們?yōu)榱诵阅芨觾?yōu)化,可以采取多層均衡負(fù)載的手段,例如可以在底層利用反向代理Nginx 實現(xiàn)對Tomcat 容器的均衡負(fù)載。利用LVS 或F5 實現(xiàn)對反向代理Nginx 的負(fù)載均衡。DNS 配置實現(xiàn)多機(jī)房均衡負(fù)載。這樣高可用的負(fù)載均衡可使系統(tǒng)在未來面對龐大的客戶端入口高并發(fā)時能選擇通過以上手段得到解決,從而到達(dá)到高并發(fā)情況下系統(tǒng)維持高性能的正常運轉(zhuǎn)。

      4.系統(tǒng)的測試成果概述

      選取此系統(tǒng)的幾個核心功能進(jìn)行測試。在啟動前后端的服務(wù)后,對視頻的上傳與下載能正常進(jìn)行。并且通過前臺系統(tǒng)的視頻播放,發(fā)現(xiàn)后臺管理系統(tǒng)的數(shù)據(jù)統(tǒng)計中視頻播放數(shù)量正常增加,并且查看后端的日志顯示該功能的響應(yīng)時間在500 ms內(nèi)。至此說明了此系統(tǒng)無論是在協(xié)同前臺系統(tǒng)服務(wù)調(diào)用方面,還是服務(wù)響應(yīng)時間上都成功完成測試。

      5.結(jié)語

      復(fù)雜系統(tǒng)微服務(wù)化是各種系統(tǒng)提高性能的一種選擇發(fā)展方向。本文介紹了該系統(tǒng)的前后端部分功能服務(wù)的開發(fā)技術(shù)和操作步驟,概述了微服務(wù)對于系統(tǒng)性能提升的優(yōu)點,同時基于SpringCloud 微服務(wù)框架完成了在線視頻學(xué)習(xí)系統(tǒng)的開發(fā)。相較于傳統(tǒng)的單體服務(wù)架構(gòu)的學(xué)習(xí)系統(tǒng),該采用微服務(wù)架構(gòu)的系統(tǒng)部署更靈活,響應(yīng)更迅速,維運更方便,具有更穩(wěn)定的性能。但是,由于缺少更大用戶數(shù)量的高并發(fā)測試,系統(tǒng)還需更多資源來進(jìn)一步完善性能以及功能業(yè)務(wù)的開發(fā)。

      猜你喜歡
      在線視頻分布式部署
      一種基于Kubernetes的Web應(yīng)用部署與配置系統(tǒng)
      晉城:安排部署 統(tǒng)防統(tǒng)治
      網(wǎng)絡(luò)網(wǎng)際之在線視頻
      部署
      風(fēng)云變幻,汰弱留強(qiáng) 談在線視頻的發(fā)展現(xiàn)狀
      分布式光伏熱錢洶涌
      能源(2017年10期)2017-12-20 05:54:07
      分布式光伏:爆發(fā)還是徘徊
      能源(2017年5期)2017-07-06 09:25:54
      部署“薩德”意欲何為?
      太空探索(2016年9期)2016-07-12 10:00:02
      基于DDS的分布式三維協(xié)同仿真研究
      蘭渡文化:引爆女性在線視頻
      焉耆| 大埔区| 伊春市| 大兴区| 河津市| 英超| 从化市| 资阳市| 胶南市| 莒南县| 建始县| 海原县| 政和县| 鹤山市| 庆云县| 油尖旺区| 沁源县| 江口县| 化德县| 和平县| 新竹市| 商水县| 陕西省| 五原县| 安图县| 徐州市| 博罗县| 通江县| 武安市| 汾阳市| 洛宁县| 溧阳市| 云南省| 邵东县| 梁山县| 鹰潭市| 淮安市| 朝阳市| 正蓝旗| 香港 | 新源县|