微服务架构协同开发规范与质量管理系统的设计与实现
发布时间:2021-07-08 06:40
随着近年软件体系架构的发展,微服务已经渐渐替代单体架构、垂直架构、SOA等成为软件体系架构标准,许多企业和开发者向微服务架构迁移。然而微服务也有其短板,为了实现更细的粒度和更低的耦合,需要对服务进行拆分,对服务之间的依赖进行管理,由此造成了诸多问题,例如因为服务拆分解耦导致服务的数量过多,从而引发的管理混乱。同时,服务的稳定运行离不开数据的采集与分析,著名的开源项目Prometheus等在数据的采集与管理上有着公认的良好表现,但是管理完全依赖该服务的维护人员,导致其需要花费大量时间在这种重复性工作上。对于这些问题,本文将从三部分探讨并解决:合理的协同开发规范设计、高效的发布流程管理以及面向开发人员的数据采集及告警管理。首先在协同开发规范方面,本文通过对分支的功能进行定义并控制各个分支的合并、发布权限来统一管理,以此解决分支管理混乱的问题。该规范目前已在作者实习企业内部作为新员工入职文档使用,显著提高了开发人员协同开发效率。在发布流程方面,本文针对互联网企业的特殊分工机制,通过合理的权限管理方式进行服务的发布、测试、审核及报告,将服务版本管理、版本的依赖关系、不同部门的协同等工作实现自动...
【文章来源】:西南大学重庆市 211工程院校 教育部直属院校
【文章页数】:61 页
【学位级别】:硕士
【部分图文】:
版本管理与发布流程需求其具体功能需求如下:
然服务功能多且杂,但是也能够确保服务之间的低耦合,因此服务之间的依赖关系清晰明了,在该架构下,系统可以实现对系统内各个服务的快速维护与扩展而不影响其他各个服务。4.2 微服务架构协同开发规范与质量管理系统模块依赖关系微服务架构协同开发规范与质量管理系统包含了权限管理模块、组管理模块、版本管理与发布模块、数据发布与管理模块、数据采集与监控告警模块、五个核心微服务模块,他们之间存在着相互依赖,依赖关系如图 4.2 所示。
西南大学专业学位硕士论文22图4.3协同开发规范流程图首先,对于常规发布,在协同开发层面一次完整的流程为:(1)从master分支拉取最新代码到一个新的develop分支,在该分支上进行开发。(2)开发完成后,进行提测操作,将该当前develop分支最新代码拉取一个开发人员不可修改的feature分支进行保存,并从该分支生成对应镜像部署到测试环境并由测试人员测试。(3)测试通过后,该分支代码则认为是可靠的代码,将feature分支代码合并到mater分支。(4)测试通过即可部署到预发布环境,部署时需要将代码合并到release分支,release分支代码与预发布环境完全同步,部署后执行后续测试(如压测等)。(5)预发布环境验证通过后即可正式部署到生产环境,部署时需将代码合并到production分支,production分支与生产环境代码同步。另外,当线上出现影响运行的严重bug时,执行hotfix发布流程,一次hotfix在协同开发层面流程如下:
【参考文献】:
期刊论文
[1]Redis在即时通讯系统中的应用[J]. 李鹏鹏,郑扬飞,刘玉龙. 软件. 2017(01)
[2]基于Spring Boot的web设计与实现[J]. 杨家炜. 轻工科技. 2016(07)
[3]基于容器的微服务架构的浅析[J]. 陈春霞. 信息系统工程. 2016(03)
[4]Docker技术将引爆容器生态系统[J]. 王健. 软件和集成电路. 2016(Z1)
[5]Nginx在实现Web加速方面的研究[J]. 曹震寰,杨莉. 甘肃科技. 2015(22)
[6]Redis在高速缓存系统中的应用[J]. 曾超宇,李金香. 微型机与应用. 2013(12)
硕士论文
[1]Redis缓存技术研究及应用[D]. 邱书洋.郑州大学 2016
[2]基于J2EE的物料管理系统的设计与实现[D]. 贾丹丹.电子科技大学 2013
本文编号:3271066
【文章来源】:西南大学重庆市 211工程院校 教育部直属院校
【文章页数】:61 页
【学位级别】:硕士
【部分图文】:
版本管理与发布流程需求其具体功能需求如下:
然服务功能多且杂,但是也能够确保服务之间的低耦合,因此服务之间的依赖关系清晰明了,在该架构下,系统可以实现对系统内各个服务的快速维护与扩展而不影响其他各个服务。4.2 微服务架构协同开发规范与质量管理系统模块依赖关系微服务架构协同开发规范与质量管理系统包含了权限管理模块、组管理模块、版本管理与发布模块、数据发布与管理模块、数据采集与监控告警模块、五个核心微服务模块,他们之间存在着相互依赖,依赖关系如图 4.2 所示。
西南大学专业学位硕士论文22图4.3协同开发规范流程图首先,对于常规发布,在协同开发层面一次完整的流程为:(1)从master分支拉取最新代码到一个新的develop分支,在该分支上进行开发。(2)开发完成后,进行提测操作,将该当前develop分支最新代码拉取一个开发人员不可修改的feature分支进行保存,并从该分支生成对应镜像部署到测试环境并由测试人员测试。(3)测试通过后,该分支代码则认为是可靠的代码,将feature分支代码合并到mater分支。(4)测试通过即可部署到预发布环境,部署时需要将代码合并到release分支,release分支代码与预发布环境完全同步,部署后执行后续测试(如压测等)。(5)预发布环境验证通过后即可正式部署到生产环境,部署时需将代码合并到production分支,production分支与生产环境代码同步。另外,当线上出现影响运行的严重bug时,执行hotfix发布流程,一次hotfix在协同开发层面流程如下:
【参考文献】:
期刊论文
[1]Redis在即时通讯系统中的应用[J]. 李鹏鹏,郑扬飞,刘玉龙. 软件. 2017(01)
[2]基于Spring Boot的web设计与实现[J]. 杨家炜. 轻工科技. 2016(07)
[3]基于容器的微服务架构的浅析[J]. 陈春霞. 信息系统工程. 2016(03)
[4]Docker技术将引爆容器生态系统[J]. 王健. 软件和集成电路. 2016(Z1)
[5]Nginx在实现Web加速方面的研究[J]. 曹震寰,杨莉. 甘肃科技. 2015(22)
[6]Redis在高速缓存系统中的应用[J]. 曾超宇,李金香. 微型机与应用. 2013(12)
硕士论文
[1]Redis缓存技术研究及应用[D]. 邱书洋.郑州大学 2016
[2]基于J2EE的物料管理系统的设计与实现[D]. 贾丹丹.电子科技大学 2013
本文编号:3271066
本文链接:https://www.wllwen.com/guanlilunwen/xiangmuguanli/3271066.html