当前位置: 首页 > 知识库问答 >
问题:

与多个记录相关的事件源编排

萧德庸
2023-03-14

我正在尝试使用事件源概念为订单/交易流程开发微服务。员工可以通过电话为客户下单/交易。系统还记录按客户分组的订单数量。它使用AWS Kinesis将orderCreated事件中的客户id发送到客户数据服务,以便我们可以增加创建的订单数量。我们根据DDD概念将订单处理和客户分离。但是,当员工为订单选择错误的客户id时,我们应该预见到人为错误。因此,有一个功能可以更改相关订单的客户。

问题是orderUpdated事件只包含订单的最新数据。这意味着事件只有新的客户id。我们可以增加新客户的订单数量。但是,我们应该减少以前客户id的订单数量。

如何解决这个问题?你能给我一些建议吗?

提前感谢

共有1个答案

胡禄
2023-03-14

听起来OrderUpdated事件不够精细,无法满足您的需求。根据您提供的信息,您可能希望有一个更具体的事件,如OrderCustomerChanged,它包含新客户Id和旧客户Id。

 类似资料:
  •  当玩家点选菜单上的「系统 - 返回之前」后,可以返回上一个段落,通过记录就是指定这种自动存储位置的功能。  要使用通过记录功能,需要用到 record 指令、此外还要对 Config.tjs 的 recordHistoryOfStore 进行设定。  「系统 - 返回之前」这一菜单选项默认是不显示的,但是可以在 Config.tjs 中将 goBackMenuItem.visible 设定为 t

  • 大部分的事件触发依赖于用户与浏览器的交互,但用户的行为是不可控的,许多交互设计上的缺陷与无法考虑到的因素会导致事件的频繁触发。 当事件处理器内部包含大量的操作,又不需要如此快速的响应事件时,就需要采用一些手段来限制事件处理器的执行。 事件的优化主要有两个目的: 减少不必要的 HTTP 请求 减少本机性能的消耗 1. 交互设计 通过交互的设计来优化事件是最常用到的方式。 如用户点击删除后将按钮禁止。

  • 不管是台式机还是笔记本,它们内部都有一块电路板,上面密密麻麻地布满了大小不一的电子器件,包括CPU、内存条、网卡、各种插槽和接口等,这就是“主板”,如下图所示。 这张图片主要让读者了解主板的构造,你不必理解图片中各个晦涩的名词。 图1:计算机主板CPU CPU (Central Processing Unit) 就是“中央处理器”,是计算机的大脑,负责计算、思考、处理数据、控制其他设备等,没有CP

  • 跑步:Laravel 5.3和Laravel背包积垢3.1 我遇到的情况是,我有一个模型,我也想添加多个相关(子)记录,只使用一个CRUD表单。一些示例包括添加多个文件。。。但让我们从小事做起。我发现下面的帖子有相似的主题,但没有明确的答案。 使用字段类型的最佳方法是什么?https://laravel-backpack.readme.io/docs/crud-fields#section-但是,

  • 主要内容:1) 源文件(Source File),2) 工程/项目(Project),3) 工程类型/项目类型,4) 链接(Link)上节我们介绍了编译器和 IDE 的概念,大家肯定希望赶紧实践一下,用 IDE 真正地运行一段C语言代码来看看效果,这样能够更快地获得成就感。 但是,使用 IDE 的过程中会涉及到一些与编程有关的概念,这些概念如果不提前了解,即使能够运行出程序来,也是雾里看花,知其然不知其所以然。本节的目标就是让大家对这些概念有一个简单的了解。 1) 源文件(Source File

  • 给定:我在Kafka中有两个主题,假设主题A和主题B。Kafka流从主题A中读取一条记录,对其进行处理,并产生与所消耗记录相对应的多条记录(假设recordA和recordB)。现在的问题是我如何使用Kafka流来实现这一点。 在这里,读取的记录是消息;处理之后,它返回一个消息列表。如何将此列表划分为两个生产者流?任何帮助都将不胜感激。