一种领域事件驱动异步传输数据方法技术

技术编号:40366947 阅读:27 留言:0更新日期:2024-02-20 22:13
本发明专利技术特别涉及一种领域事件驱动异步传输数据方法。该领域事件驱动异步传输数据方法,将系统中发生的每一件事情,都以事件形式捕获,通过领域驱动设计模式对领域事件进行建模;对聚合进行命令操作时,聚合本身将领域事件发布给订阅方处理;领域事件发布后,订阅方先存储事件,然后再将其转发到远程订阅方,或不经存储,直接转发给远程订阅方;通过事件监听器监听发布的领域事件,进行业务数据的异步传输,订阅者进行数据业务处理,进行数据清洗或者根据具体业务进行数据存储/数据分析。该领域事件驱动异步传输数据方法,数据源扩展性强,灵活可靠,且不受网络因素制约,能够在复杂的业务模式下灵活的传输数据,大大提高了程序的方便性。

【技术实现步骤摘要】

本专利技术涉及领域驱动设计,特别涉及一种领域事件驱动异步传输数据方法


技术介绍

1、随着系统业务复杂性越来越高,对数据的可扩展性和传输性要求也越来越高。比如一个危货运输代理商要入驻一个危货运输企业,就需要把代理商下的所有基础数据同步给这个企业。包括账号关系、设备类型与企业关系、作业活动与企业关系、安全检查项目、部门组织架构、岗位关系等等。这种应用场景下,对与业务数据的可扩展性、传输速率等性能要求比较高。

2、领域事件(domain events)是领域驱动设计(domain driven design,简称ddd)中的一个概念,用于捕获我们所建模的领域中所发生过的事情。比如:“如果发生……,则……”,“当做完……的时候,请通知……”(这里的通知本身并不能构成一个事件,而只是表明需要向外界发出通知)。在这些场景中,如果发生某种事件后,会触发进一步的操作,那这个事件可能就是领域事件。由于领域事件需要发布到外部系统,比如发布到另一个限界上下文。由于这样的事件由订阅方处理,它将对本地和远程上下文产生深远的影响。

3、领域事件本身也作为通用本文档来自技高网...

【技术保护点】

1.一种领域事件驱动异步传输数据方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的领域事件驱动异步传输数据方法,其特征在于:所述步骤S1中,在创建领域事件时,领域事件本身是不变的;同时领域事件携带与事件发生时相关的上下文数据信息,但是并不携带整个聚合根的状态数据。

3.根据权利要求2所述的领域事件驱动异步传输数据方法,其特征在于:所述步骤S1中,根据业务和逻辑确定好关联的实体和值对象,创建一个领域事件,并继承ApplicationEvent事件。

4.根据权利要求1所述的领域事件驱动异步传输数据方法,其特征在于:为了维护领域模型的独立性和数据一...

【技术特征摘要】

1.一种领域事件驱动异步传输数据方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的领域事件驱动异步传输数据方法,其特征在于:所述步骤s1中,在创建领域事件时,领域事件本身是不变的;同时领域事件携带与事件发生时相关的上下文数据信息,但是并不携带整个聚合根的状态数据。

3.根据权利要求2所述的领域事件驱动异步传输数据方法,其特征在于:所述步骤s1中,根据业务和逻辑确定好关联的实体和值对象,创建一个领域事件,并继承applicationevent事件。

4.根据权利要求1所述的领域事件驱动异步传输数据方法,其特征在于:为了维护领域模型的独立性和数据一致性,所述步骤s2中,事件发布完成后,发布方不必关心后续订阅方事件处理是否成功,直接实现领域模型的解耦。

5.根据权利要求1所述的领域事件驱动异步传输数据方法,其特征在于:所述步骤s2中,在领域模型映射到微服务架构时,领域事件解耦微服务,微服务间的数据不必要求强一致性,而是基于事件的最终一致性。

【专利技术属性】
技术研发人员:李承林徐士强王禹博
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

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

1