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