本申请涉及微服务,尤其涉及一种微服务架构处理方法、系统、电子装置及计算机可读存储介质。
背景技术:
1、微服务是一种云原生架构方法,微服务架构可以使应用程序更易于扩展和更快地开发。目前,在进行各种业务系统的设计开发时,通常会使用微服务框架。但是,现有的很多开发方案缺少系统设计过的微服务框架和业务开发模式、缺少研发规范、面向过程编程,则可能造成许多问题。尤其当业务逐渐趋向成熟,需求增加,代码复杂度显著提升,则需要引入领域驱动设计(domain-driven design,ddd)来完成业务架构设计。
2、ddd的核心目标是解决软件开发中的业务复杂度,通过架构分层、领域拆分和建模等手段实现关注点分离,提升代码自身的表达和约束能力,从而提升整体效率。但是,ddd目前的主要应用是基于面向对象编程语言的,例如java语言,且有较完备的框架生态支持。而go语言作为常见的面向函数编程,目前没有成熟且通用的ddd应用方式。
技术实现思路
1、本申请的主要目的在于提出一种微服务架构处理方法、系统、电子装置及计算机可读存储介质,旨在解决如何提供一种基于go语言和ddd的微服务架构设计方案的问题。
2、为实现上述目的,本申请实施例提供了一种微服务架构处理方法,所述方法包括:
3、根据领域驱动设计梳理界限上下文并划分业务子领域;
4、在每个子领域内,根据同步逻辑、异步逻辑拆分成实时应用和异步任务应用两个微服务;
5、在每个微服务内部依据接口层鉴权、校验、渲染,核心业务功能,数据聚合、获取划分为应用层、领域层、数据获取层三个层级;
6、在微服务内部建立领域模型。
7、可选地,所述方法还包括:
8、通过共享包共享领域模型的形式实现实时应用和异步服务的可插拔设计。
9、可选地,所述在微服务内部建立领域模型包括:
10、根据接口功能设计应用层数据传输对象;
11、根据业务逻辑构建充血领域模型并抽象成员函数,实现实时应用和异步服务模型能力复用;
12、根据数据库表结构设计并实现持久层对象和数据获取层。
13、可选地,所述微服务内部的分层架构结合领域驱动设计的分层架构和六边形架构。
14、可选地,所述微服务的每个层级通过接口功能统一定义对其他层级暴露的公开接口,所述应用层调用定义在所述领域层的接口,所述数据获取层面向所述领域层设计接口,实现六边形架构中输入端和输出端的可插拔设计。
15、可选地,在所述领域层和所述数据获取层定义的接口中,输入输出统一使用领域对象。
16、可选地,所述通过共享包共享领域模型的形式实现实时应用和异步服务的可插拔设计包括:
17、允许子领域内部的共享包共享领域对象和持久层对象,以及充血模型自带的成员函数。
18、此外,为实现上述目的,本申请实施例还提供一种微服务架构处理系统,所述系统包括:
19、梳理模块,用于根据领域驱动设计梳理界限上下文并划分业务子领域;
20、拆分模块,用于在每个子领域内,根据同步逻辑、异步逻辑拆分成实时应用和异步任务应用两个微服务;
21、分层模块,用于在每个微服务内部依据接口层鉴权、校验、渲染,核心业务功能,数据聚合、获取划分为应用层、领域层、数据获取层三个层级;
22、建模模块,用于在微服务内部建立领域模型。
23、为实现上述目的,本申请实施例还提供一种电子装置,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务架构处理程序,所述微服务架构处理程序被所述处理器执行时实现如上述的微服务架构处理方法。
24、为实现上述目的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有微服务架构处理程序,所述微服务架构处理程序被处理器执行时实现如上述的微服务架构处理方法。
25、本申请实施例提出的微服务架构处理方法、系统、电子装置及计算机可读存储介质,能够提供一种go语言生态下基于kratos的领域驱动设计微服务架构,弥补现有微服务架构技术中针对go语言没有成熟且通用的ddd应用方式的不足。
1.一种微服务架构处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的微服务架构处理方法,其特征在于,所述方法还包括:
3.根据权利要求1或2所述的微服务架构处理方法,其特征在于,所述在微服务内部建立领域模型包括:
4.根据权利要求1所述的微服务架构处理方法,其特征在于,所述微服务内部的分层架构结合领域驱动设计的分层架构和六边形架构。
5.根据权利要求4所述的微服务架构处理方法,其特征在于,所述微服务的每个层级通过接口功能统一定义对其他层级暴露的公开接口,所述应用层调用定义在所述领域层的接口,所述数据获取层面向所述领域层设计接口,实现六边形架构中输入端和输出端的可插拔设计。
6.根据权利要求1或5所述的微服务架构处理方法,其特征在于,在所述领域层和所述数据获取层定义的接口中,输入输出统一使用领域对象。
7.根据权利要求2所述的微服务架构处理方法,其特征在于,所述通过共享包共享领域模型的形式实现实时应用和异步服务的可插拔设计包括:
8.一种微服务架构处理系统,其特征在于,所述系统包括:
9.一种电子装置,其特征在于,所述电子装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的微服务架构处理程序,所述微服务架构处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的微服务架构处理方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有微服务架构处理程序,所述微服务架构处理程序被处理器执行时实现如权利要求1至7中任一项所述的微服务架构处理方法。