【技术实现步骤摘要】
基于功能特性与微服务关联度的单体应用分解工具及方法
本专利技术涉及单体应用的微服务分解,具体涉及一种基于软件功能特性与微服务关联度的单体应用微服务分解工具及其分解方法。
技术介绍
单体应用架构是传统的软件架构方式,一般被认为是将所有的功能都在一个应用中进行开发。不太复杂的单体应用很容易开发、测试和部署,但是随着应用规模的扩大,单体应用的劣势逐渐显现出来。例如,过于复杂和难以理解的单体应用会对处理bug带来阻碍;而庞大的单体架构也会降低开发的进展,由于更长的启动时间,持续开发的效率也会大大降低。为了解决上述问题,微服务架构被提出,这是一种灵活的、松耦合的架构,由Lewis和Fowler最先提出。微服务架构指的是一组小型的、单独运行的、通过轻量级机制交流的服务所构成的应用架构。相比单体应用,微服务架构的应用由更好的独立部署性和扩展性。但是单体应用并不是银弹,在拥有上述优点的同时也带来了很多问题,其中最重要的一个问题就是如何高效地将单体应用分解为微服务应用。不合适的分解方式可能导致开发出的应用开销巨大。换言之,单体应用的微服务分解粒度是一个具有挑战性的难点。目前已经有一些自动化或者半自动化的微服务分解方法。以ServiceCutter为代表的方法提供了自动化的成熟分析工具,ServiceCutter基于无向带权图通过切割集群的方式得到微服务模块,但是这种方式要求使用者提供特定的预期模型,需要对待分解的系统进行详尽的分析,而这些分析结果有时候是不容易获取的。以APIanalysis为代表的方法 ...
【技术保护点】
1.基于功能特性与微服务关联度的单体应用分解工具,其特征在于:包括以下模块:/nM1:StatisticsService模块,用于使管理者更新各项特性与微服务关联度权重以及后续能够将作为标准的单体应用微服务分解结果插入到微服务标准库中;/nM2:AnalyseService模块,用于使使用者获取各项特性与微服务关联度权重;/nM3:Eureka模块,与M1和M2相连,用于对M1和M2进行注册管理,确保服务模块的正常运行;/nM4:微服务标准库Database,与M1和M2相连,用于存储微服务分解基准以及所述功能特性与微服务关联度权重,以提供给M1和M2使用;/nM5:管理者前端显示界面Managers,与M1相连,用于支持管理者使用M1模块提供的功能;/nM6:用户前端显示界面Users,与M2相连,用于支持使用者使用M2模块提供的功能,进行单体应用微服务化分解的分析和分析数据的存储。/n
【技术特征摘要】
1.基于功能特性与微服务关联度的单体应用分解工具,其特征在于:包括以下模块:
M1:StatisticsService模块,用于使管理者更新各项特性与微服务关联度权重以及后续能够将作为标准的单体应用微服务分解结果插入到微服务标准库中;
M2:AnalyseService模块,用于使使用者获取各项特性与微服务关联度权重;
M3:Eureka模块,与M1和M2相连,用于对M1和M2进行注册管理,确保服务模块的正常运行;
M4:微服务标准库Database,与M1和M2相连,用于存储微服务分解基准以及所述功能特性与微服务关联度权重,以提供给M1和M2使用;
M5:管理者前端显示界面Managers,与M1相连,用于支持管理者使用M1模块提供的功能;
M6:用户前端显示界面Users,与M2相连,用于支持使用者使用M2模块提供的功能,进行单体应用微服务化分解的分析和分析数据的存储。
2.根据权利要求1所述的基于功能特性与微服务关联度的单体应用分解工具,其特征在于:所述M1中各项特性包括:前提条件Precondition、计算Computation、数据Data、混合·关联时间Hybrid.TimeRelated、混合·开放性Hybrid.Openness和其他Other;
所述前提条件Precondition包含关联后端BackendRelated特性;
所述计算Computation包含数据计算DataComputation特性;
所述数据Data包含通知Notification、外观Appearance、用户偏好Preference、信息传输InformationTransmission和数据存储DataStorage特性;
所述混合·关联时间Hybrid.TimeRelated包含搜索Search和时效性Timeliness特性;
所述混合·开放性Hybrid.Openness包含功能扩展FunctionExtension和软件开发SoftwareDevelopment特性;
所述其他Other包含快捷键HotKey特性。
3.根据权利要求1所述的基于功能特性与微服务关联度的单体应用分解工具,其特征在于:所述M2具体为:使用者在web页面上输入自己所分析应用的功能模块、功能点和各个功能点的特性能够自动获得每一个功能点是否适合微服务的权重;并且能够将分析后的分解结果存储到本地。
4.根据权利要求2所述的基于功能特性与微服务关联度的单体应用分解工具,其特征在于:所述M1和M2中各项特性与微服务关联度权重的计算步骤为:
若所评估的功能Function不具备关联后端BackendRelated特性,则这个功能与微服务的关联度赋为0%,结束计算;
若所评估的功能Function具备关联后端BackendRelated特性,则这个功能与微服务的关联度使用权重计算公式进行计算。
5....
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。