通过手动轮询从Rest API更改的实体来建模事件流

问题描述 投票:0回答:1

我负责创建事件流,通过该事件流,我有一个自动轮询器(以10分钟为间隔设置),以检索最近10分钟内更改的所有实体。

现在,业务逻辑指示我们仅在实体中的特定字段发生更改时才创建新的更新事件。由于没有关于特定字段更改的粒度(我们只知道更改了某些内容),因此我必须创建某种执行以下操作的微分方法:

  1. 获得先前的实体状态
  2. 比较此先前状态与最新状态(即diff)
  3. 如果业务逻辑确定重要的至少一个字段,则创建更新事件
  4. 如果已创建更新事件,请用最新状态替换先前的实体状态

鉴于此体系结构问题,是否存在已知的模式或模式集,或有关如何构建此类系统的准则?

rest api architecture data-modeling event-stream
1个回答
0
投票

[查看observer patterniterator pattern,以及reactive programming的范例。

请注意,这些是解决状态更改(或事件)处理的通用方法。实现取决于您所使用的编程语言和操作环境。您应该真正注意现有的框架和库,例如ReactiveX(跨平台)或Spring WebFlux(Java)。

Here is关于概念之间关系的有趣讨论。

© www.soinside.com 2019 - 2024. All rights reserved.