基于领域驱动设计的微服务系统构建方法、设备及介质技术方案

技术编号:32728411 阅读:13 留言:0更新日期:2022-03-20 08:33
本申请公开了一种基于领域驱动设计的微服务系统构建方法、设备及介质,包括:获取业务需求中的各领域事件,并识别各所述领域事件分别对应的领域对象以及对象命令,对各所述领域对象进行业务划分,获得各所述领域对象对应的业务边界,并确定各所述业务边界的界限上下文,基于各所述业务边界,确定微服务系统对应的各微服务单元,基于各所述业务边界的界限上下文,构建各所述微服务单元对应的数据模型,以及确定各所述微服务单元之间的服务调用关系,基于各所述对象命令,生成各所述微服务单元对应的接口代码。本申请解决微服务系统分析和设计过程复杂的技术问题。和设计过程复杂的技术问题。和设计过程复杂的技术问题。

【技术实现步骤摘要】
基于领域驱动设计的微服务系统构建方法、设备及介质


[0001]本申请涉及互联网
,尤其涉及一种基于领域驱动设计的微服务系统构建方法、设备及介质。

技术介绍

[0002]随着计算机技术的不断发展,微服务的应用越来越广泛,目前,领域驱动设计是微服务架构的核心和最重要的基础,而在传统的领域驱动设计工具中,在进行事件风暴、上下文划分、模型分析以及微服务拆分整个环节中,每个环节都是独立割裂的,也即,前一个环节的产出,没有自动作为下一个环节的输入,从而增加了领域驱动设计的复杂度,此外,领域驱动设计中不同环节的产出,没有与实际项目源码的实现相结合,难以指导微服务架构的实现,导致微服务系统分析和设计过程复杂。

技术实现思路

[0003]本申请的主要目的在于提供一种基于领域驱动设计的微服务系统构建方法、设备及介质,旨在解决现有技术中的微服务系统分析和设计过程复杂的技术问题。
[0004]为实现上述目的,本申请提供一种基于领域驱动设计的微服务系统构建方法,所述基于领域驱动设计的微服务系统构建方法包括:
[0005]获取业务需求中的各领域事件,并识别各所述领域事件分别对应的领域对象以及对象命令;
[0006]对各所述领域对象进行业务划分,获得各所述领域对象对应的业务边界,并确定各所述业务边界的界限上下文;
[0007]基于各所述业务边界,确定微服务系统对应的各微服务单元;
[0008]基于各所述业务边界的界限上下文,构建各所述微服务单元对应的数据模型,以及确定各所述微服务单元之间的服务调用关系;
[0009]基于各所述对象命令,生成各所述微服务单元对应的接口代码。
[0010]本申请还提供一种基于领域驱动设计的微服务系统构建装置,所述基于领域驱动设计的微服务系统构建装置为虚拟系统,所述基于领域驱动设计的微服务系统构建装置包括:
[0011]识别模块,用于获取业务需求中的各领域事件,并识别各所述领域事件分别对应的领域对象以及对象命令;
[0012]划分模块,用于对各所述领域对象进行业务划分,获得各所述领域对象对应的业务边界,并确定各所述业务边界的界限上下文;
[0013]确定模块,用于基于各所述业务边界,确定微服务系统对应的各微服务单元;
[0014]构建模块,用于基于各所述业务边界的界限上下文,构建各所述微服务单元对应的数据模型,以及确定各所述微服务单元之间的服务调用关系;
[0015]生成模块,用于基于各所述对象命令,生成各所述微服务单元对应的接口代码。
[0016]本申请还提供一种基于领域驱动设计的微服务系统构建设备,所述基于领域驱动设计的微服务系统构建设备为实体设备,所述基于领域驱动设计的微服务系统构建设备包括:存储器、处理器以及存储在所述存储器上的基于领域驱动设计的微服务系统构建程序,所述基于领域驱动设计的微服务系统构建程序被所述处理器执行实现如上述的基于领域驱动设计的微服务系统构建方法的步骤。
[0017]本申请还提供一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储基于领域驱动设计的微服务系统构建程序,所述基于领域驱动设计的微服务系统构建程序被处理器执行实现如上述的基于领域驱动设计的微服务系统构建方法的步骤。
[0018]本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的基于领域驱动设计的微服务系统构建方法的步骤。
[0019]本申请提供了一种基于领域驱动设计的微服务系统构建方法、设备及介质,相比于现有技术采用利用领域驱动设计工具进行事件风暴、上下文划分、模型分析以及微服务拆分整个环节中,每个环节都是独立割裂的技术手段,本申请首先获取业务需求中的各领域事件,并识别各所述领域事件分别对应的领域对象以及对象命令,进而对各所述领域对象进行业务划分,获得各所述领域对象对应的业务边界,并确定各所述业务边界的界限上下文,进一步地,基于各所述业务边界,确定微服务系统对应的各微服务单元,进而基于各所述业务边界的界限上下文,构建各所述微服务单元对应的数据模型,以及确定各所述微服务单元之间的服务调用关系,进一步地,基于各所述对象命令,生成各所述微服务单元对应的接口代码,实现了基于领域对象、对象命令以及各所述业务边界的界限上下文,进行系统架构设计、接口设计等操作,打通整个领域驱动设计分析过程,降低了不同环节分析设计的复杂度,进一步地,基于领域驱动设计理念,将微服务系统分析与设计可视化,进而根据领域驱动设计不同环节的产出,分别用于指导微服务系统进行架构设计、接口设计等操作,从而更好地指导系统微服务架构的实现,实现了系统分析、设计过程一体化,克服了现有技术中利用领域驱动设计工具进行事件风暴、上下文划分、模型分析以及微服务拆分整个环节中,每个环节都是独立割裂,增加了领域驱动设计的复杂度,难以指导微服务架构的实现的技术缺陷,从而提升了利用领域驱动设计理念进行微服务系统可视化分析与设计的效果。
附图说明
[0020]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0021]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域默认技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0022]图1为本申请基于领域驱动设计的微服务系统构建方法第一实施例的流程示意图;
[0023]图2为本申请基于领域驱动设计的微服务系统构建方法第二实施例的流程示意图;
[0024]图3为本申请基于领域驱动设计的微服务系统构建方法第三实施例的流程示意图;
[0025]图4为本申请实施例中基于领域驱动设计的微服务系统构建方法涉及的硬件运行环境的基于领域驱动设计的微服务系统构建设备结构示意图。
[0026]本专利技术目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0027]应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
[0028]本申请实施例提供一种基于领域驱动设计的微服务系统构建方法,在本申请基于领域驱动设计的微服务系统构建方法的第一实施例中,参照图1,所述基于领域驱动设计的微服务系统构建方法包括:
[0029]步骤S10,获取业务需求中的各领域事件,并识别各所述领域事件分别对应的领域对象以及对象命令;
[0030]在本实施例中,需要说明的是,所述业务需求包括目标软件系统对应的业务范围和业务流程,所述领域对象是对于目标软件系统进行建模分析时的领域事件的数据对象,所述目标软件系统为是软件开发组织所需要基于业务需求进行开发的软件系统,进一步地,所述领域事件对应的规范命名规则为名词+动词的过去时态,例如,订单已创建。另外地,所述领域事件的名称在命名时应该尽量避免使用类似数据、信息等的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于领域驱动设计的微服务系统构建方法,其特征在于,所述基于领域驱动设计的微服务系统构建方法包括:获取业务需求中的各领域事件,并识别各所述领域事件分别对应的领域对象以及对象命令;对各所述领域对象进行业务划分,获得各所述领域对象对应的业务边界,并确定各所述业务边界的界限上下文;基于各所述业务边界,确定微服务系统对应的各微服务单元;基于各所述业务边界的界限上下文,构建各所述微服务单元对应的数据模型,以及确定各所述微服务单元之间的服务调用关系;基于各所述对象命令,生成各所述微服务单元对应的接口代码。2.如权利要求1所述的基于领域驱动设计的微服务系统构建方法,其特征在于,所述对各所述领域对象进行业务划分,获得各所述领域对象对应的业务边界的步骤包括:通过领域专家对各所述领域对象进行业务关联分析,获得各所述领域对象之间的关联度;基于所述关联度,对各所述领域对象进行划分,获得各所述业务边界。3.如权利要求1所述的基于领域驱动设计的微服务系统构建方法,其特征在于,所述基于各所述业务边界的界限上下文,构建各所述微服务单元对应的数据模型的步骤包括:基于各所述业务边界的界限上下文,分析不同业务边界以及各所述业务边界中的各领域对象之间的实体关联关系;基于各所述实体关联关系,构建各所述数据模型。4.如权利要求1所述的基于领域驱动设计的微服务系统构建方法,其特征在于,所述基于各所述业务边界的界限上下文,确定各所述微服务单元之间的服务调用关系的步骤包括:基于各所述业务边界的界限上下文,识别不同业务边界的领域对象之间的依赖关系;基于所述依赖关系,确定各所述微服务单元之间的服务调用关系。5.如权利要求1所述的基于领域驱动设计的微服务系统构建方法,其特征在于,在所述基于各所述业务边界的界限上下文,构建各所述微服务单元对应的数据模型,以及确定各所述微服务单元之间的服务调用关系的步骤之后,所述基于领域驱动设计的微服务系统构建方法还包括:对各所述微服务单元之间的服务调用关系进行检测,获得检测结果;若所述检测结果存在依赖冲突,则提示警报信息。6.如权利要求1所述的基于领域驱动设计的...

【专利技术属性】
技术研发人员:林桂忠童文浩张志强
申请(专利权)人:招商银行股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1