EventSourcing网关(与外部系统同步)

时间:2017-06-26 11:25:47

标签: domain-driven-design cqrs event-sourcing

是否有实施事件采购网关的最佳做法?网关是指基础设施或服务,它允许生成一组事件,从某些外部服务返回的状态开始。

即使基于事件源的应用程序,仍然可以存在一些外部无法控制的权利。例如,您希望从Azure AD同步用户列表,并执行提示服务,这将返回用户列表。然后,您从投影中获取用户列表,与外部状态产生差异,并生成事件以填补此差异。

或者您的申请是在线商店,您应该导入实际的美元/欧元/比特币排名以显示价格。 Gateway可以轮询某些货币提供商并生成事件。在简单的情况下它很容易,但如果投影状态是更复杂的结构,那么琐碎的导入并不明显。

这种情况可能有共同的方法吗?

1 个答案:

答案 0 :(得分:4)

构建使用poll-emit的集成适配器是正常的,我个人更喜欢这种集成方式。

然而,这与事件源无关,因为您实际需要解决集成问题的方法是模拟外部系统自己发出事件所需的功能,并且您可以构建一个消耗这些事件的反应系统事件

当这些事件从适配器进入您的系统时 - 您可以随心所欲地执行任何操作但事实上,事件源假定您将自己的对象的状态存储在事件流中,但是如果事件来自某个外部系统 - 它不是你的国家。您可以从外部事件派生系统状态,但这些将是您自己的事件。

相关问题