• 
    

    
    

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

      微服務(wù)架構(gòu)下的在線律師網(wǎng)站重構(gòu)與優(yōu)化

      2021-09-28 11:23:26代立晨
      軟件導(dǎo)刊 2021年9期
      關(guān)鍵詞:后臺頁面律師

      代立晨,王 晨

      (中南民族大學(xué)計算機(jī)科學(xué)學(xué)院,湖北武漢 430074)

      0 引言

      在“依法治國”戰(zhàn)略大力推行和5G 時代來臨的大背景下,將法律服務(wù)從線下搬到線上是一個趨勢。習(xí)近平總書記強(qiáng)調(diào),律師隊伍是依法治國的一支重要力量,要求切實(shí)加強(qiáng)律師工作和律師隊伍建設(shè)[1]。但長期以來,我國居民習(xí)慣于以聽廣播、看電視的形式獲取法律相關(guān)知識,以線下前往律師事務(wù)所咨詢律師的方式獲得專業(yè)的法律服務(wù),這些方式往往效率低下,不利于律師與客戶的前期溝通。在線律師網(wǎng)站可以加強(qiáng)律師與普通用戶的溝通,有助于“依法治國”戰(zhàn)略的實(shí)施,也有助于律師隊伍在實(shí)戰(zhàn)中加強(qiáng)自身素養(yǎng)。

      文獻(xiàn)[2]提出建設(shè)多元便捷的公共法律平臺,以滿足人民群眾對于專業(yè)法律知識和法律服務(wù)的需求;文獻(xiàn)[3]論述了在線法律服務(wù)應(yīng)該遵循的法律規(guī)制,闡明了在線律師網(wǎng)站需要遵守的政策要求?,F(xiàn)存的在線律師網(wǎng)站多為單體應(yīng)用架構(gòu),所有的功能打包在同一個項目文件下,模塊之間的邊界模糊、耦合度高。并且,單體應(yīng)用一且修改便只能作為一個整體去擴(kuò)展,無法根據(jù)業(yè)務(wù)需求進(jìn)行靈活伸縮。李春陽等[4]設(shè)計并實(shí)現(xiàn)了一種基于微服務(wù)架構(gòu)的統(tǒng)一應(yīng)用開發(fā)平臺,并成功在國家電網(wǎng)多個項目中投入使用;楊巍等[5]研究了基于微服務(wù)架構(gòu)的圖書館業(yè)務(wù)系統(tǒng),并成功在深圳大學(xué)圖書館投入運(yùn)營和使用。這些基于微服務(wù)架構(gòu)的系統(tǒng)迅速在其應(yīng)用場景下發(fā)揮了微服務(wù)靈活伸縮、敏捷開發(fā)、快速部署的優(yōu)勢。

      但是,已有研究中對于如何將微服務(wù)與中小型應(yīng)用網(wǎng)站有機(jī)結(jié)合的例子并不多,特別是對于如何將在線律師服務(wù)與微服務(wù)架構(gòu)網(wǎng)站有機(jī)融合的研究還存在不足。本文將在線法律服務(wù)和微服務(wù)架構(gòu)軟件設(shè)計思想有機(jī)結(jié)合,設(shè)計并實(shí)現(xiàn)了一個基于微服務(wù)架構(gòu)的在線律師網(wǎng)站,對于中小型應(yīng)用網(wǎng)站根據(jù)自身應(yīng)用場景進(jìn)行重構(gòu)有一定借鑒價值。

      1 國內(nèi)外研究現(xiàn)狀

      2012 年以來,以綠狗網(wǎng)和律云網(wǎng)為代表的新型在線法律服務(wù)網(wǎng)站迅速崛起,其依托電子商務(wù)平臺,通過互聯(lián)網(wǎng)和移動互聯(lián)網(wǎng)的布局,為消費(fèi)者購買法律服務(wù)提供了新的渠道。浙江省司法廳于2015 年開始建設(shè)浙江公共法律服務(wù)網(wǎng)[2],順應(yīng)了時代規(guī)律和發(fā)展潮流,滿足了用戶需要。在線法律服務(wù)的迅猛發(fā)展對于降低律師服務(wù)收費(fèi)和培養(yǎng)消費(fèi)者通過法律途徑解決問題的習(xí)慣十分有利,與建設(shè)社會主義法治國家的目標(biāo)相呼應(yīng)[3]。

      2017 年,國家電網(wǎng)公司針對龐大業(yè)務(wù)系統(tǒng),以及復(fù)雜的開發(fā)及維護(hù),提出了基于微服務(wù)架構(gòu)的統(tǒng)一應(yīng)用開發(fā)平臺,將微服務(wù)架構(gòu)引入國家電網(wǎng)日常的業(yè)務(wù)系統(tǒng)中[4]。2020 年,深圳大學(xué)基于微服務(wù)架構(gòu)重構(gòu)了新一代的圖書館服務(wù)平臺[5],取得了非常好的效果。越來越多的開發(fā)者和公司開始使用微服務(wù)的概念[6],微服務(wù)架構(gòu)是一種將單個應(yīng)用程序分解為一系列可獨(dú)立運(yùn)行的小服務(wù)的軟件架構(gòu),這些服務(wù)實(shí)現(xiàn)獨(dú)立的業(yè)務(wù)邏輯,可獨(dú)立部署,并通過輕量級協(xié)議進(jìn)行通信,可以用不同的編程語言編寫并采用不同的存儲技術(shù)[7]。微服務(wù)具有低成本擴(kuò)容、彈性伸縮、適應(yīng)云環(huán)境的優(yōu)勢。

      構(gòu)建一個Web 服務(wù)的后端有多種選擇,最常見的是PHP、ASP.NET 和Java。根據(jù)TIOBE 編程語言排行榜的數(shù)據(jù),從2002 年 到2020 年,傳 統(tǒng)Web 后端開發(fā)語言PHP 和ASP.NET 的熱度一直呈緩慢下降趨勢,而Java 語言的流行程度呈急速上升趨勢,足以證明Java 作為Web 后端開發(fā)語言的優(yōu)越性已經(jīng)得到了全世界開發(fā)者的認(rèn)可和選擇,如圖1 所示。

      而作為Web 應(yīng)用的前端部分,當(dāng)前市面上還是大多數(shù)采用Html+CSS+JavaScript 的傳統(tǒng)開發(fā)方式[8],這種開發(fā)方式代碼耦合度高、開發(fā)周期長、層次之間不夠清晰,向后端服務(wù)器發(fā)起網(wǎng)絡(luò)請求也比較復(fù)雜。傳統(tǒng)的Web 應(yīng)用開發(fā)技術(shù)已經(jīng)不能滿足用戶對于豐富網(wǎng)頁形式和富媒體信息的需要[9]?,F(xiàn)在主流的Web 框架為Vue.js,React 和Angu?lar.js,其并稱為“前端三大框架”。其中,Vue.js 于2014 年由在美國讀大學(xué)的學(xué)生尤雨溪發(fā)布。Vue.js 是一套構(gòu)建用戶界面的漸進(jìn)式框架,不但性能優(yōu)異,最重要的是其比其他兩個前端框架更加簡單易學(xué),降低了學(xué)習(xí)成本和開發(fā)成本,非常適合中小型應(yīng)用網(wǎng)站開發(fā)。

      Fig.1 TIOBE programming community index圖1 TIOBE 編程社區(qū)指數(shù)

      以微服務(wù)架構(gòu)重構(gòu)現(xiàn)有的在線律師網(wǎng)站,不僅要從底層架構(gòu)思想對現(xiàn)有技術(shù)進(jìn)行重構(gòu),還要尋找適合開發(fā)應(yīng)用網(wǎng)站的前后端開發(fā)語言和開發(fā)框架,將其進(jìn)行有機(jī)整合。經(jīng)過比較,本系統(tǒng)選擇Java 語言作為后端開發(fā)語言,使用企業(yè)級開發(fā)框架SpringBoot 結(jié)合SpringCloud 微服務(wù)相關(guān)技術(shù),選擇Vue.js 作為前端開發(fā)框架,將現(xiàn)有的在線律師網(wǎng)站從架構(gòu)思想到開發(fā)語言、從后端到前端,進(jìn)行全面重構(gòu)。

      2 系統(tǒng)需求分析與設(shè)計

      律師管理系統(tǒng)設(shè)計并完成后,由運(yùn)營人員操作后臺管理系統(tǒng)并對數(shù)據(jù)進(jìn)行管理,Web 端主要負(fù)責(zé)展示數(shù)據(jù),可滿足用戶以下4 個方面的要求:

      (1)找律師。用戶通關(guān)短信驗證碼注冊登陸普法律師網(wǎng)后,可以瀏覽網(wǎng)頁,尋找感興趣的律師進(jìn)行在線咨詢,咨詢法律相關(guān)問題。

      (2)學(xué)法律。用戶可通過普法律師網(wǎng)的“公開課”頁面,觀看律師上傳的普法視頻,在線學(xué)習(xí)法制相關(guān)知識。

      (3)觀案例。用戶可通過瀏覽網(wǎng)頁查看相關(guān)案例的判決結(jié)果和律師對于該案例的專業(yè)分析。

      (4)看熱點(diǎn)。普法律師網(wǎng)會在網(wǎng)站上及時發(fā)布并更新近期新聞媒體報導(dǎo)的法制新聞熱點(diǎn)。

      2.1 系統(tǒng)分析

      普法律師網(wǎng)是一個B2C 架構(gòu)的法制綜合平臺,集找律師、學(xué)法律、觀案例、看熱點(diǎn)等多種功能于一身,其分為前臺用戶系統(tǒng)和后臺運(yùn)營平臺。具體設(shè)計如圖2 所示。

      根據(jù)系統(tǒng)需求分析,普法律師網(wǎng)主要服務(wù)于律師和注冊用戶,由于律師的專業(yè)性,要求律師線下將相關(guān)資料和證件信息提交給系統(tǒng)運(yùn)營人員進(jìn)行審核。系統(tǒng)運(yùn)營人員審核律師提交的材料,在后臺管理系統(tǒng)對官網(wǎng)信息進(jìn)行及時更新,普通注冊用戶和律師登陸官網(wǎng)使用本網(wǎng)站提供的相關(guān)服務(wù)。通過上述分析,普法律師網(wǎng)的用戶可分為以下幾類:

      (1)系統(tǒng)管理員。主要負(fù)責(zé)后臺管理系統(tǒng)操作、律師信息審核、系統(tǒng)律師管理、課程分類管理、公開課管理、內(nèi)容管理等。

      Fig.2 System function architecture圖2 系統(tǒng)功能架構(gòu)

      (2)注冊用戶。注冊用戶分為普通用戶和律師。普通用戶可以瀏覽律師的個人頁面、觀看公開課視頻、瀏覽案例信息和熱點(diǎn)信息、向律師發(fā)起咨詢;律師可以在官網(wǎng)上回復(fù)用戶留言,上傳公開課視頻等。

      2.2 系統(tǒng)設(shè)計

      前端主要用于用戶交互和數(shù)據(jù)展示,后端主要負(fù)責(zé)接收前端的請求,并迅速作出響應(yīng)。前端分為官網(wǎng)和后臺管理系統(tǒng),其主要分工和使用到的技術(shù)有所不同。Web 端主要面向非系統(tǒng)管理員角色,用戶在注冊成功并登錄官網(wǎng)后,可以使用系統(tǒng)提供的服務(wù)。

      后臺管理系統(tǒng)主要面向系統(tǒng)運(yùn)營人員,系統(tǒng)運(yùn)營人員可以對數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行增刪改查操作,并對Web 端頁面的展示數(shù)據(jù)進(jìn)行及時管理和更新。

      后端對Web 端和后臺管理系統(tǒng)的請求及時作出響應(yīng),并保證整個系統(tǒng)運(yùn)行的穩(wěn)定性。

      2.2.1 前端設(shè)計

      前端主要分為表現(xiàn)層和服務(wù)層。

      (1)表現(xiàn)層使用HTML5 和CSS3 設(shè)計網(wǎng)站頁面,使用AJAX[10]向服務(wù)端API 發(fā)起異步請求,AJAX 通過JavaScript腳本向服務(wù)端發(fā)起請求,使網(wǎng)頁實(shí)現(xiàn)異步更新,這意味著可以在不重新加載整個網(wǎng)頁的情況下,只對當(dāng)前網(wǎng)頁需要更新的部分進(jìn)行更新;表現(xiàn)層使用開源可視化圖表庫ECharts 進(jìn)行圖表繪制。

      本系統(tǒng)服務(wù)層還針對百度、搜狗等做了搜索引擎優(yōu)化(Search Engine Optimization,SEO)[11],使開發(fā)的網(wǎng)站有更大的概率在百度等流量入口獲得更高的排名,有助于幫助網(wǎng)站獲取更高的人氣和流量。

      (2)前端表現(xiàn)層主要包括前端代碼的運(yùn)行環(huán)境Node.js、前端框架Vue.js,使用簡潔易用且高效的http 庫Axios 發(fā)送網(wǎng)絡(luò)請求,其中官網(wǎng)部分使用基于Vue.js 構(gòu)建的框架Nuxt.js 進(jìn)行開發(fā),Nuxt.js 是一個基于Vue.js 的輕量級應(yīng)用框架。傳統(tǒng)網(wǎng)站每次加載一個新的頁面便要向系統(tǒng)請求一個新的資源,給后臺服務(wù)器造成了很大壓力。Nuxt.js 通過服務(wù)器端渲染(SSR),代碼結(jié)構(gòu)分層清晰,支持網(wǎng)站資源熱加載,降低了網(wǎng)站開發(fā)難度和加載時間,具有非常好的用戶體驗。前端項目開發(fā)完成后,使用webpack 進(jìn)行項目的打包和發(fā)布。具體設(shè)計如圖3 所示。

      Fig.3 Front-end hierarchy圖3 前端層次結(jié)構(gòu)

      2.2.2 后端設(shè)計

      后端主要分為業(yè)務(wù)層、用戶層、服務(wù)層、并發(fā)層和存儲層5 個層次。

      (1)業(yè)務(wù)層引入了阿里云的第三方服務(wù),主要包含阿里云視頻點(diǎn)播服務(wù)(Video on Demand,VOD)、阿里云對象存儲服務(wù)(Object Storage Service,OSS)、阿里巴巴的開源ex?cel 文件處理框架EasyExcel、阿里云短信服務(wù)(Short Mes?sage Service,SMS)。

      (2)用戶層主要對用戶進(jìn)行認(rèn)證和授權(quán),采用開放授權(quán)協(xié)議的第二版OAuth2(Open Authorization,OAuth)進(jìn)行微信登錄[12],使用單點(diǎn)登錄(Single Sign On,SSO)技術(shù),用戶只需登錄一次,便可以訪問系統(tǒng)中的多個服務(wù)模塊。登錄時,使用基于token 的鑒權(quán)機(jī)制JWT(Json Web Token,JWT)[13]將用戶登錄的賬戶名和密碼進(jìn)行加密,保證用戶賬戶安全。

      (3)服務(wù)層使用Nacos 對多個微服務(wù)模塊進(jìn)行統(tǒng)一管理和遠(yuǎn)程配置,后臺系統(tǒng)的消息傳遞使用遵守高級消息隊列協(xié)議(Advanced Message Queuing Protocol,AMQP)的開源消息中間件RabbitMQ。

      (4)開發(fā)層選用了當(dāng)下最為流行的Java 開發(fā)框架SpringBoot2.2 和SpringCloud,SpringBoot,可以大大簡化Java應(yīng)用搭建和開發(fā)步驟。

      SpringCloud 作為微服務(wù)系統(tǒng)架構(gòu)的一站式解決方案[14],提供了諸如服務(wù)發(fā)現(xiàn)注冊、配置中心、消息總線、負(fù)載均衡、斷路器、數(shù)據(jù)監(jiān)控等功能,SpringCloud 提供了一套簡易的編程模型,使得程序能在SpringBoot 的基礎(chǔ)上輕松地實(shí)現(xiàn)微服務(wù)項目構(gòu)建。

      為了簡化Java 應(yīng)用程序?qū)?shù)據(jù)庫的操作,還引入了Mybatis Plus 作為引用的持久層框架。Mybtis Plus 在Myba?tis 的基礎(chǔ)上進(jìn)行優(yōu)化,只需進(jìn)行簡單配置,即可快速進(jìn)行單張數(shù)據(jù)庫表格的增查改刪操作,可以節(jié)省大量時間,My?batis Plus 還集成了大量插件,可以實(shí)現(xiàn)數(shù)據(jù)分頁查詢、字段自動填充、邏輯刪除等常用功能。

      (5)項目的存儲層選用了開源流行的MySQL 數(shù)據(jù)庫以存儲大部分?jǐn)?shù)據(jù)。為了增強(qiáng)系統(tǒng)運(yùn)行速度和用戶體驗,引入非關(guān)系型數(shù)據(jù)庫Redis 作為項目的緩存數(shù)據(jù)庫[15],Redis數(shù)據(jù)庫是一款基于內(nèi)存的高性能數(shù)據(jù)庫,可以對關(guān)系型數(shù)據(jù)庫起到很好的補(bǔ)充作用。后端設(shè)計如圖4 所示。

      Fig.4 Back-end hierarchy圖4 后端層次結(jié)構(gòu)

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

      MySQL 數(shù)據(jù)庫設(shè)計遵循阿里巴巴出版的《碼出高效:Java 開發(fā)手冊》[16]中定義的MySQL 數(shù)據(jù)庫建表規(guī)約,其中主要遵循了以下原則:

      (1)表必備 三字段:id、gmt_create、gmt_modified。其中,id 必為主鍵。gmt_create、gmt_modified 的類型均為da?tetime 類型,前者現(xiàn)在時表示主動創(chuàng)建,后者過去分詞表示被動更新。

      (2)表達(dá)是與否概念的字段,必須使用is_xxx 的方式命名,數(shù)據(jù)類型是unsigned tinyint(1 表示是,0 表示否)。本系統(tǒng)考慮到數(shù)據(jù)備份的需要,使用邏輯刪除處理刪除請求,數(shù)據(jù)庫中邏輯刪除字段命名為is_deleted。即用戶向后臺發(fā)出刪除數(shù)據(jù)請求時,只是將需要刪除的數(shù)據(jù)中的is_deleted 字段更新為true,即只對數(shù)據(jù)作update 操作,不作delete 操作。而在作select 操作進(jìn)行查詢時,補(bǔ)充查詢條件邏輯刪除字段為false,這樣既滿足了系統(tǒng)數(shù)據(jù)備份和對數(shù)據(jù)的保護(hù),也滿足了查詢和刪除請求。

      (3)不得使用外鍵與級聯(lián),一切外鍵概念必須在應(yīng)用層解決。外鍵與級聯(lián)更新適用于單機(jī)低并發(fā),不適合分布式、高并發(fā)集群;級聯(lián)更新是強(qiáng)阻塞,存在數(shù)據(jù)庫更新風(fēng)暴的風(fēng)險;外鍵影響數(shù)據(jù)庫的插入速度。本系統(tǒng)通過添加冗余字段和對表作切割處理的方式,不使用外鍵和級聯(lián),以免外鍵和級聯(lián)影響到數(shù)據(jù)查詢和數(shù)據(jù)插入速度。

      Redis(Remote Dictionary Server,Redis),即遠(yuǎn)程字典服務(wù),是一個開源的使用ANSI C 語言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value 數(shù)據(jù)庫,并提供多種語言的API[17]。SpringBoot 對Redis 數(shù)據(jù)庫也進(jìn)行了封裝,實(shí)現(xiàn)了很好的支持。當(dāng)用戶第一次訪問首頁時,從MySQL數(shù)據(jù)庫中查詢數(shù)據(jù),并實(shí)現(xiàn)主從同步,將MySQL 中查詢出的數(shù)據(jù)封裝為對象,再將MySQL 數(shù)據(jù)庫的數(shù)據(jù)序列化為Redis 數(shù)據(jù)庫的鍵值對形式進(jìn)行同步存儲。當(dāng)用戶第二次訪問首頁時,即可直接從Redis 數(shù)據(jù)庫中進(jìn)行查詢,具體如圖5 所示。

      Fig.5 Cache design principle圖5 緩存設(shè)計原理

      Redis 數(shù)據(jù)庫主要應(yīng)用于以下使用場景:

      (1)全頁面緩存。因官網(wǎng)采用服務(wù)器端渲染,雖然減少了Web 端的網(wǎng)絡(luò)請求次數(shù),但是若為每個請求都重新渲染頁面,會給服務(wù)器造成很大的壓力。因此,使用Redis 將首頁“廣告Banner”,“熱門律師”和“熱門公開課”模塊緩存起來,可以極大加快首頁加載速度。

      (2)“Session”存儲。當(dāng)訪問服務(wù)器某個網(wǎng)頁時,會在服務(wù)器端的內(nèi)存里開辟一塊內(nèi)存,這塊內(nèi)存就叫作Session,而該內(nèi)存是跟瀏覽器關(guān)聯(lián)在一起的。因Redis 具有緩存數(shù)據(jù)持久化的能力,將“Session”存儲在Redis 中,可以避免“Session”突然消失帶來的用戶體驗問題。

      3 系統(tǒng)功能實(shí)現(xiàn)與測試

      3.1 首頁

      官網(wǎng)首頁采用簡潔明朗的設(shè)計風(fēng)格,頂部和底部采用組件化設(shè)計,只刷新中間的內(nèi)容區(qū)域,復(fù)用頂部的Ap?pHeader 組件和底部的AppFooter 組件。

      頂部導(dǎo)航欄包括首頁、律師、公開課、問答、文章5 個主要模塊,以及網(wǎng)站搜索框和登陸注冊按鈕。底部包含友情鏈接和網(wǎng)站的版權(quán)信息以及ICP 備案號等,底部還添加了微信二維碼和微博的跳轉(zhuǎn)鏈接。

      網(wǎng)頁中部主要為內(nèi)容展示區(qū)域,通過Vue 框架的動態(tài)路由進(jìn)行頁面刷新和跳轉(zhuǎn)[18]。首頁主要展示廣告Bannner以及熱門律師和熱門公開課兩個本系統(tǒng)的主要功能模塊。具體如圖6 所示(彩圖掃OSID 碼可見)。

      Fig.6 The official website homepage圖6 官網(wǎng)首頁

      3.2 后臺管理系統(tǒng)

      后臺管理系統(tǒng)和首頁使用的技術(shù)棧都是Vue 框架,只是實(shí)現(xiàn)起來稍有區(qū)別,具體開發(fā)流程如圖10 所示。

      Fig.7 Vue framework development process圖7 Vue 框架開發(fā)流程

      使用開源組件和模板可以極大加快開發(fā)迭代速度,做到“開箱即用”。后臺管理系統(tǒng)使用vue-admin-template 進(jìn)行搭建,頁面和功能設(shè)計如圖8 所示。vue-admin-template是一個后臺前端解決方案,它基于前端框架vue.js 和餓了么公司的開源組件庫element-ui 實(shí)現(xiàn)。它使用了最新的前端技術(shù)棧,內(nèi)置i18 國際化解決方案,動態(tài)路由,權(quán)限驗證,提煉了典型的業(yè)務(wù)模型,提供了豐富的功能組件,可幫助快速搭建企業(yè)級中后臺產(chǎn)品原型。后臺管理系統(tǒng)主頁面分為左側(cè)的導(dǎo)航欄,可以對頁面功能進(jìn)行路由跳轉(zhuǎn);右側(cè)的上方為搜索框,可以向Java 后臺發(fā)起數(shù)據(jù)篩選和多條件組合查詢;右側(cè)下方為內(nèi)容展示區(qū)域,主要方便運(yùn)維人員對系統(tǒng)數(shù)據(jù)進(jìn)行管理。

      3.3 功能測試

      系統(tǒng)主要使用Swagger 和Sentinel 工具配合進(jìn)行功能測試。

      Swagger 是一個規(guī)范和完整的框架,用于生成、描述、調(diào)用和可視化RESTful 風(fēng)格的Web 服務(wù)[19],可以自動掃描Java 項目暴露的接口,其提供了非常簡單易用的UI 界面,并通過內(nèi)置工具模擬網(wǎng)絡(luò)請求。在SpringBoot 項目中集成Swagger 后,通過訪問瀏覽器的“l(fā)ocalhost:端口號/swaggerui.html”地址,即可訪問Swagger 的Web UI 界面。通過點(diǎn)擊Swagger 提供的按鈕即可向后臺接口發(fā)起網(wǎng)絡(luò)請求,并立即看到響應(yīng)結(jié)果,通過該方式可以測試Java 后臺項目各接口運(yùn)行情況。

      Sentinel 是由阿里巴巴開發(fā)并開源的面向分布式服務(wù)架構(gòu)的高可用流量防護(hù)組件,主要以流量為切入點(diǎn),從限流、流量整形、熔斷降級、系統(tǒng)負(fù)載保護(hù)、熱點(diǎn)防護(hù)等多個維度幫助開發(fā)者保障微服務(wù)的穩(wěn)定性。Sentinel 同時提供實(shí)時監(jiān)控功能,可以在控制臺中看到接入應(yīng)用的單臺機(jī)器秒級數(shù)據(jù),甚至500 臺以下規(guī)模集群的匯總運(yùn)行情況。

      QoS(Quality of Service,服務(wù)質(zhì)量)指一個網(wǎng)絡(luò)能夠利用各種基礎(chǔ)技術(shù),為指定的網(wǎng)絡(luò)通信提供更好的服務(wù)能力。通過Swagger 對后臺接口發(fā)起請求,結(jié)合Sentinel 生成的圖表,可以實(shí)時測試系統(tǒng)的QoS 和響應(yīng)時間[20],以此判斷系統(tǒng)的性能和穩(wěn)定性。經(jīng)過軟件測試,使用Swagger 工具多次向系統(tǒng)后臺接口發(fā)起網(wǎng)絡(luò)請求,同時打開Sentinel 的后臺監(jiān)控頁面,可以看到系統(tǒng)運(yùn)行狀況,如圖8 所示。

      Fig.8 Sentinel test results圖8 Sentinel 測試結(jié)果

      分析測試結(jié)果可以發(fā)現(xiàn),系統(tǒng)在每秒多達(dá)1 000 多次的網(wǎng)絡(luò)請求壓力測試下[21],單一接口無拒絕訪問的狀況發(fā)生,且系統(tǒng)的平均響應(yīng)時間不超過5ms。該測試充分說明了基于微服務(wù)的在線律師網(wǎng)站架構(gòu)設(shè)計合理,運(yùn)行穩(wěn)定,體現(xiàn)出基于微服務(wù)架構(gòu)的應(yīng)用網(wǎng)站的性能優(yōu)勢。

      4 結(jié)語

      可以看出,在網(wǎng)站應(yīng)用用戶快速增加的情況下,不僅要加快開發(fā)速度,還要使系統(tǒng)各功能模塊之間弱耦合、可分離,微服務(wù)架構(gòu)的出現(xiàn)很好解決了應(yīng)用網(wǎng)站耦合度高、無法迅速迭代開發(fā)、升級維護(hù)困難等問題。在前后端編程語言選擇上,本文選擇了當(dāng)下非?;馃岬腟pringBoot 框架和Vue.js 框架,其作為前后端開發(fā)的熱門框架,很好地滿足了當(dāng)今時代對于網(wǎng)站應(yīng)用的需求。

      本文針對當(dāng)前居民對法律知識和專業(yè)法律服務(wù)的需求,基于微服務(wù)架構(gòu)對傳統(tǒng)在線律師網(wǎng)站進(jìn)行了重構(gòu),系統(tǒng)采用前后端分離的方法,在前端和后端開發(fā)過程中,又采用了分層設(shè)計、層層分離的開發(fā)模式,在后端將業(yè)務(wù)分解為不同的微服務(wù),有效降低了代碼開發(fā)的耦合度,降低了后端服務(wù)器壓力,也有效保障了系統(tǒng)的穩(wěn)定性。通過對一個在線律師系統(tǒng)的設(shè)計與開發(fā)實(shí)踐,給出了一種可供現(xiàn)有傳統(tǒng)非微服務(wù)架構(gòu)中小型應(yīng)用網(wǎng)站參考的重構(gòu)方案。預(yù)計將來會有越來越多的開發(fā)者和公司選擇使用基于微服務(wù)架構(gòu)的SpringBoot+Vue.js 對現(xiàn)有傳統(tǒng)架構(gòu)網(wǎng)站進(jìn)行重構(gòu)和升級,帶給用戶更好的體驗。

      猜你喜歡
      后臺頁面律師
      大狗熊在睡覺
      刷新生活的頁面
      “新婚姻法”說道多 聽聽律師怎么說
      “建設(shè)律師隊伍”:1950年代的律師重塑
      我遇到的最好律師
      特別健康(2018年2期)2018-06-29 06:13:48
      后臺暗戀
      前臺、后臺精彩花絮停不了
      怎樣才算是真正的律師?
      電力調(diào)度中后臺監(jiān)控系統(tǒng)的應(yīng)用
      河南科技(2014年11期)2014-02-27 14:10:03
      后臺
      中國攝影(2013年6期)2013-04-29 21:58:19
      海伦市| 内乡县| 寻甸| 柏乡县| 方山县| 尉氏县| 彭州市| 中江县| 仲巴县| 疏附县| 左权县| 西城区| 乐东| 马公市| 军事| 庆阳市| 山阳县| 开远市| 仁怀市| 理塘县| 奉节县| 翁源县| 古田县| 武乡县| 哈密市| 巧家县| 沈丘县| 当涂县| 邯郸县| 乐至县| 吉木乃县| 东方市| 东平县| 中超| 宁远县| 二连浩特市| 镇赉县| 威信县| 永靖县| 钟祥市| 墨玉县|