本发明属于微服务架构,尤其涉及一种微服务架构的生成方法、装置、设备及存储介质。
背景技术:
1、随着互联网和云计算技术的快速发展,传统的单体应用架构已经无法满足现代业务的需求,而微服务架构作为一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值,为了提高微服务架构的系统可维护性、可扩展性和性能,服务拆分和自由打包技术应运而生。
2、服务拆分是将一个大型服务拆分成多个小型、独立的服务,每个服务负责特定的功能或业务逻辑,这样可以使代码更加模块化、清晰和易于维护。服务拆分的优点如下:
3、1.提高可维护性:每个服务都可以独立开发、测试和部署,降低了代码的耦合度,提高了代码的可维护性。当某个服务需要修改时,只需要关注该服务的功能,而不影响其他服务,从而提高了开发效率。
4、2.增强可扩展性:当业务需求发生变化时,可以单独扩展某个服务,而不需要对其他服务进行修改。这使得系统的扩展更加灵活,能够快速应对市场的变化。
5、3.提高性能:通过将服务拆分,可以更有效地利用资源,提高系统的性能。每个服务都可以独立部署在不同的服务器上,实现负载均衡,进一步提高系统的吞吐量和响应速度。
6、然而,服务拆分也存在一些缺点:
7、1.资源浪费:每个服务都需要单独的机器部署,可能造成资源浪费,增加了运维负担;
8、2.分布式事务问题:服务拆分后会产生分布式事务、跨库事务、跨库分页等问题,需要复杂的解决方案来处理;
9、3.服务治理复杂:当服务较多时,服务之间的依赖关系复杂,治理和协调变得困难;
10、4.排查问题困难:拆分后可能不便于排查问题,增加了debug的难度;
11、5.特殊业务的服务归属问题:某些特殊业务的服务归属难以决定,可能导致服务间的责任不明确;
12、6.技术难度增加:服务拆分需要更高的技术能力,如微服务架构、容器化等技术需要进一步学习和应用。
13、为了解决服务拆分的上述问题,自由打包技术应运而生。自由打包是指根据实际需求,将不同的服务打包成不同的包或组件,以便于部署和使用。自由打包的优点如下:
14、1.灵活性:可以根据实际需求自由组合不同的服务包或组件,以满足特定的业务需求,这样可以更加灵活地应对市场的变化和用户的需求;
15、2.易于部署:可以将不同的服务包或组件独立部署到不同的服务器或环境中,提高了部署的灵活性和效率,这使得系统的部署和维护更加方便快捷;
16、3.易于扩展:当需要扩展某个服务时,可以单独扩展该服务的包或组件,而不需要对其他服务进行修改,这使得系统的扩展更加灵活和高效。
17、综上所述,服务拆分和自由打包技术虽然是提高系统可维护性、可扩展性和性能的重要手段,但是如何进行服务拆分和自由打包技术方案的设计,以使得微服务架构达到上述目的还有待进一步商榷。
技术实现思路
1、本发明的目的在于提供一种微服务架构的生成方法、装置、设备及存储介质,旨在解决由于现有技术导致生成的微服务架构可维护性、可扩展性以及稳定性较差的问题。
2、一方面,本发明提供了一种微服务架构的生成方法,所述方法包括下述步骤:
3、对获取到的整体服务进行服务拆分,得到若干独立的微服务组件;
4、获取与每个所述微服务组件对应的开发代码,并对所述开发代码进行编译,得到与每个所述微服务组件对应的可执行服务组件;
5、接收用户从所有所述可执行服务组件中选择并组合的可执行服务组件,并对接收到的所述可执行服务组件进行打包,得到目标服务组件;
6、将所述目标服务组件进行部署,生成对应的微服务架构。
7、优选地,所述对获取到的整体服务进行服务拆分的步骤,包括:
8、对所述整体服务进行需求分析,得到需求依赖关系;
9、根据所述需求依赖关系对所述整体服务进行服务拆分。
10、优选地,所述获取与每个所述微服务组件对应的开发代码的步骤,包括:
11、根据预先制定的接口规范和编程语言对每个所述微服务组件进行软件开发,得到所述开发代码。
12、优选地,所述得到与每个所述微服务组件对应的可执行服务组件的步骤之后,所述接收用户从所有所述可执行服务组件中选择并组合的可执行服务组件的步骤之前,所述方法还包括:
13、接收对所述可执行服务组件进行测试的测试请求;
14、根据所述测试请求中的测试用例对所述可执行服务组件进行测试,得到测试结果;
15、当所述测试结果没有达到预设的目标值时,根据所述测试结果对所述开发代码进行修改,并跳转至获取与每个所述微服务组件对应的开发代码的步骤,直至所述测试结果达到所述目标值。
16、优选地,所述生成对应的微服务架构的步骤之后,所述方法还包括:
17、接收对所述微服务架构进行更新的更新请求;
18、根据所述更新请求对所述整体服务进行修改,并跳转至对获取到的整体服务进行服务拆分的步骤。
19、另一方面,本发明提供了一种微服务架构的生成装置,所述装置包括:
20、服务拆分单元,用于对获取到的整体服务进行服务拆分,得到若干独立的微服务组件;
21、组件开发单元,用于获取与每个所述微服务组件对应的开发代码,并对所述开发代码进行编译,得到与每个所述微服务组件对应的可执行服务组件;
22、组件打包单元,用于接收用户从所有所述可执行服务组件中选择并组合的可执行服务组件,并对接收到的所述可执行服务组件进行打包,得到目标服务组件;
23、组件部署单元,用于将所述目标服务组件进行部署,生成对应的微服务架构。
24、优选地,所述服务拆分单元包括:
25、需求分析单元,用于对所述整体服务进行需求分析,得到需求依赖关系;
26、服务拆分子单元,用于根据所述需求依赖关系对所述整体服务进行服务拆分。
27、优选地,所述组件开发单元包括:
28、组件开发子单元,用于根据预先制定的接口规范和编程语言对每个所述微服务组件进行软件开发,得到所述开发代码。
29、另一方面,本发明还提供了一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述一种微服务架构的生成方法所述的步骤。
30、另一方面,本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述一种微服务架构的生成方法所述的步骤。
31、本发明对获取到的整体服务进行服务拆分,得到若干独立的微服务组件,获取与每个微服务组件对应的开发代码,并对开发代码进行编译,得到与每个微服务组件对应的可执行服务组件,接收用户从所有可执行服务组件中选择并组合的可执行服务组件,并对接收到的可执行服务组件进行打包,得到目标服务组件,将目标服务组件进行部署,生成对应的微服务架构,从而通过服务拆分和自由组合打包,在提高了服务的质量、效率和可复用性的同时,提高了开发效率,并实现高内聚、低耦合的微服务架构,提高系统的可维护性、可扩展性、稳定性以及可靠性。
1.一种微服务架构的生成方法,其特征在于,所述方法包括下述步骤:
2.如权利要求1所述的方法,其特征在于,所述对获取到的整体服务进行服务拆分的步骤,包括:
3.如权利要求1所述的方法,其特征在于,所述获取与每个所述微服务组件对应的开发代码的步骤,包括:
4.如权利要求3所述的方法,其特征在于,所述得到与每个所述微服务组件对应的可执行服务组件的步骤之后,所述接收用户从所有所述可执行服务组件中选择并组合的可执行服务组件的步骤之前,所述方法还包括:
5.如权利要求1所述的方法,其特征在于,所述生成对应的微服务架构的步骤之后,所述方法还包括:
6.一种微服务架构的生成装置,其特征在于,所述装置包括:
7.如权利要求6所述的装置,其特征在于,所述服务拆分单元包括:
8.如权利要求6所述的装置,其特征在于,所述组件开发单元包括:
9.一种计算设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述方法的步骤。
