微服務(wù)架構(gòu)協(xié)同開發(fā)規(guī)范與質(zhì)量管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
發(fā)布時(shí)間:2021-07-08 06:40
隨著近年軟件體系架構(gòu)的發(fā)展,微服務(wù)已經(jīng)漸漸替代單體架構(gòu)、垂直架構(gòu)、SOA等成為軟件體系架構(gòu)標(biāo)準(zhǔn),許多企業(yè)和開發(fā)者向微服務(wù)架構(gòu)遷移。然而微服務(wù)也有其短板,為了實(shí)現(xiàn)更細(xì)的粒度和更低的耦合,需要對(duì)服務(wù)進(jìn)行拆分,對(duì)服務(wù)之間的依賴進(jìn)行管理,由此造成了諸多問題,例如因?yàn)榉⻊?wù)拆分解耦導(dǎo)致服務(wù)的數(shù)量過多,從而引發(fā)的管理混亂。同時(shí),服務(wù)的穩(wěn)定運(yùn)行離不開數(shù)據(jù)的采集與分析,著名的開源項(xiàng)目Prometheus等在數(shù)據(jù)的采集與管理上有著公認(rèn)的良好表現(xiàn),但是管理完全依賴該服務(wù)的維護(hù)人員,導(dǎo)致其需要花費(fèi)大量時(shí)間在這種重復(fù)性工作上。對(duì)于這些問題,本文將從三部分探討并解決:合理的協(xié)同開發(fā)規(guī)范設(shè)計(jì)、高效的發(fā)布流程管理以及面向開發(fā)人員的數(shù)據(jù)采集及告警管理。首先在協(xié)同開發(fā)規(guī)范方面,本文通過對(duì)分支的功能進(jìn)行定義并控制各個(gè)分支的合并、發(fā)布權(quán)限來統(tǒng)一管理,以此解決分支管理混亂的問題。該規(guī)范目前已在作者實(shí)習(xí)企業(yè)內(nèi)部作為新員工入職文檔使用,顯著提高了開發(fā)人員協(xié)同開發(fā)效率。在發(fā)布流程方面,本文針對(duì)互聯(lián)網(wǎng)企業(yè)的特殊分工機(jī)制,通過合理的權(quán)限管理方式進(jìn)行服務(wù)的發(fā)布、測(cè)試、審核及報(bào)告,將服務(wù)版本管理、版本的依賴關(guān)系、不同部門的協(xié)同等工作實(shí)現(xiàn)自動(dòng)...
【文章來源】:西南大學(xué)重慶市 211工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:61 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
版本管理與發(fā)布流程需求其具體功能需求如下:
然服務(wù)功能多且雜,但是也能夠確保服務(wù)之間的低耦合,因此服務(wù)之間的依賴關(guān)系清晰明了,在該架構(gòu)下,系統(tǒng)可以實(shí)現(xiàn)對(duì)系統(tǒng)內(nèi)各個(gè)服務(wù)的快速維護(hù)與擴(kuò)展而不影響其他各個(gè)服務(wù)。4.2 微服務(wù)架構(gòu)協(xié)同開發(fā)規(guī)范與質(zhì)量管理系統(tǒng)模塊依賴關(guān)系微服務(wù)架構(gòu)協(xié)同開發(fā)規(guī)范與質(zhì)量管理系統(tǒng)包含了權(quán)限管理模塊、組管理模塊、版本管理與發(fā)布模塊、數(shù)據(jù)發(fā)布與管理模塊、數(shù)據(jù)采集與監(jiān)控告警模塊、五個(gè)核心微服務(wù)模塊,他們之間存在著相互依賴,依賴關(guān)系如圖 4.2 所示。
西南大學(xué)專業(yè)學(xué)位碩士論文22圖4.3協(xié)同開發(fā)規(guī)范流程圖首先,對(duì)于常規(guī)發(fā)布,在協(xié)同開發(fā)層面一次完整的流程為:(1)從master分支拉取最新代碼到一個(gè)新的develop分支,在該分支上進(jìn)行開發(fā)。(2)開發(fā)完成后,進(jìn)行提測(cè)操作,將該當(dāng)前develop分支最新代碼拉取一個(gè)開發(fā)人員不可修改的feature分支進(jìn)行保存,并從該分支生成對(duì)應(yīng)鏡像部署到測(cè)試環(huán)境并由測(cè)試人員測(cè)試。(3)測(cè)試通過后,該分支代碼則認(rèn)為是可靠的代碼,將feature分支代碼合并到mater分支。(4)測(cè)試通過即可部署到預(yù)發(fā)布環(huán)境,部署時(shí)需要將代碼合并到release分支,release分支代碼與預(yù)發(fā)布環(huán)境完全同步,部署后執(zhí)行后續(xù)測(cè)試(如壓測(cè)等)。(5)預(yù)發(fā)布環(huán)境驗(yàn)證通過后即可正式部署到生產(chǎn)環(huán)境,部署時(shí)需將代碼合并到production分支,production分支與生產(chǎn)環(huán)境代碼同步。另外,當(dāng)線上出現(xiàn)影響運(yùn)行的嚴(yán)重bug時(shí),執(zhí)行hotfix發(fā)布流程,一次hotfix在協(xié)同開發(fā)層面流程如下:
【參考文獻(xiàn)】:
期刊論文
[1]Redis在即時(shí)通訊系統(tǒng)中的應(yīng)用[J]. 李鵬鵬,鄭揚(yáng)飛,劉玉龍. 軟件. 2017(01)
[2]基于Spring Boot的web設(shè)計(jì)與實(shí)現(xiàn)[J]. 楊家煒. 輕工科技. 2016(07)
[3]基于容器的微服務(wù)架構(gòu)的淺析[J]. 陳春霞. 信息系統(tǒng)工程. 2016(03)
[4]Docker技術(shù)將引爆容器生態(tài)系統(tǒng)[J]. 王健. 軟件和集成電路. 2016(Z1)
[5]Nginx在實(shí)現(xiàn)Web加速方面的研究[J]. 曹震寰,楊莉. 甘肅科技. 2015(22)
[6]Redis在高速緩存系統(tǒng)中的應(yīng)用[J]. 曾超宇,李金香. 微型機(jī)與應(yīng)用. 2013(12)
碩士論文
[1]Redis緩存技術(shù)研究及應(yīng)用[D]. 邱書洋.鄭州大學(xué) 2016
[2]基于J2EE的物料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 賈丹丹.電子科技大學(xué) 2013
本文編號(hào):3271066
【文章來源】:西南大學(xué)重慶市 211工程院校 教育部直屬院校
【文章頁(yè)數(shù)】:61 頁(yè)
【學(xué)位級(jí)別】:碩士
【部分圖文】:
版本管理與發(fā)布流程需求其具體功能需求如下:
然服務(wù)功能多且雜,但是也能夠確保服務(wù)之間的低耦合,因此服務(wù)之間的依賴關(guān)系清晰明了,在該架構(gòu)下,系統(tǒng)可以實(shí)現(xiàn)對(duì)系統(tǒng)內(nèi)各個(gè)服務(wù)的快速維護(hù)與擴(kuò)展而不影響其他各個(gè)服務(wù)。4.2 微服務(wù)架構(gòu)協(xié)同開發(fā)規(guī)范與質(zhì)量管理系統(tǒng)模塊依賴關(guān)系微服務(wù)架構(gòu)協(xié)同開發(fā)規(guī)范與質(zhì)量管理系統(tǒng)包含了權(quán)限管理模塊、組管理模塊、版本管理與發(fā)布模塊、數(shù)據(jù)發(fā)布與管理模塊、數(shù)據(jù)采集與監(jiān)控告警模塊、五個(gè)核心微服務(wù)模塊,他們之間存在著相互依賴,依賴關(guān)系如圖 4.2 所示。
西南大學(xué)專業(yè)學(xué)位碩士論文22圖4.3協(xié)同開發(fā)規(guī)范流程圖首先,對(duì)于常規(guī)發(fā)布,在協(xié)同開發(fā)層面一次完整的流程為:(1)從master分支拉取最新代碼到一個(gè)新的develop分支,在該分支上進(jìn)行開發(fā)。(2)開發(fā)完成后,進(jìn)行提測(cè)操作,將該當(dāng)前develop分支最新代碼拉取一個(gè)開發(fā)人員不可修改的feature分支進(jìn)行保存,并從該分支生成對(duì)應(yīng)鏡像部署到測(cè)試環(huán)境并由測(cè)試人員測(cè)試。(3)測(cè)試通過后,該分支代碼則認(rèn)為是可靠的代碼,將feature分支代碼合并到mater分支。(4)測(cè)試通過即可部署到預(yù)發(fā)布環(huán)境,部署時(shí)需要將代碼合并到release分支,release分支代碼與預(yù)發(fā)布環(huán)境完全同步,部署后執(zhí)行后續(xù)測(cè)試(如壓測(cè)等)。(5)預(yù)發(fā)布環(huán)境驗(yàn)證通過后即可正式部署到生產(chǎn)環(huán)境,部署時(shí)需將代碼合并到production分支,production分支與生產(chǎn)環(huán)境代碼同步。另外,當(dāng)線上出現(xiàn)影響運(yùn)行的嚴(yán)重bug時(shí),執(zhí)行hotfix發(fā)布流程,一次hotfix在協(xié)同開發(fā)層面流程如下:
【參考文獻(xiàn)】:
期刊論文
[1]Redis在即時(shí)通訊系統(tǒng)中的應(yīng)用[J]. 李鵬鵬,鄭揚(yáng)飛,劉玉龍. 軟件. 2017(01)
[2]基于Spring Boot的web設(shè)計(jì)與實(shí)現(xiàn)[J]. 楊家煒. 輕工科技. 2016(07)
[3]基于容器的微服務(wù)架構(gòu)的淺析[J]. 陳春霞. 信息系統(tǒng)工程. 2016(03)
[4]Docker技術(shù)將引爆容器生態(tài)系統(tǒng)[J]. 王健. 軟件和集成電路. 2016(Z1)
[5]Nginx在實(shí)現(xiàn)Web加速方面的研究[J]. 曹震寰,楊莉. 甘肅科技. 2015(22)
[6]Redis在高速緩存系統(tǒng)中的應(yīng)用[J]. 曾超宇,李金香. 微型機(jī)與應(yīng)用. 2013(12)
碩士論文
[1]Redis緩存技術(shù)研究及應(yīng)用[D]. 邱書洋.鄭州大學(xué) 2016
[2]基于J2EE的物料管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 賈丹丹.電子科技大學(xué) 2013
本文編號(hào):3271066
本文鏈接:http://sikaile.net/guanlilunwen/xiangmuguanli/3271066.html
最近更新
教材專著