Ant*_*s S 5 architecture events domain-driven-design event-driven domain-events
我想澄清一下在实现 DDD(领域驱动设计)的 EDA 系统(具有事件驱动架构的系统)中实现不同类型事件的方式。假设我们没有使用事件溯源。
更具体地说,阅读相关文章后,似乎有 3 种事件:
"type": "paycheck-generated",
"event-id": "537ec7c2-d1a1-2005-8654-96aee1116b72",
"delivery-id": "05011927-a328-4860-a106-737b2929db4e",
"timestamp": 1615726445,
"payload": {
"employee-id": "456123",
"link": "/paychecks/456123/2021/01" }
}
Run Code Online (Sandbox Code Playgroud)
{
"type": "customer-updated",
"event-id": "6b7ce6c6-8587-4e4f-924a-cec028000ce6",
"customer-id": "01b18d56-b79a-4873-ac99-3d9f767dbe61",
"timestamp": 1615728520,
"payload": {
"first-name": "Carolyn",
"last-name": "Hayes",
"phone": "555-1022",
"status": "follow-up-set",
"follow-up-date": "2021/05/08",
"birthday": "1982/04/05",
"version": 7
}
}
Run Code Online (Sandbox Code Playgroud)
{
"type": "customer-updated",
"event-id": "6b7ce6c6-8587-4e4f-924a-cec028000ce6",
"customer-id": "01b18d56-b79a-4873-ac99-3d9f767dbe61",
"timestamp": 1615728520,
"payload": {
"status": "follow-up-set",
"follow-up-date": "2021/05/10",
"version": 8
}
}
Run Code Online (Sandbox Code Playgroud)
上面的每个示例都来自 Khononov 的书(学习领域驱动设计:调整软件架构和业务策略)
说了前面的陈述,我想澄清以下问题:
(1)与其他有界上下文通信时,事件携带状态转移 (ECST) 和事件通知类型的典型用途是否以集成事件的形式(在 DDD EDA 系统中)使用?(通过根据用例将领域事件转换为集成事件)
(2) 使用事件驱动架构的领域驱动设计系统中是否存在一种或多种其他典型事件类别?例如:发生域错误时的事件通知 - 针对特定错误的客户端通知(在这种情况下,没有发生聚合持久性) - 这些类型的错误如何传播回客户端,以及名称可能是什么DDD EDA 社区接受的此类活动有哪些?
| 归档时间: |
|
| 查看次数: |
881 次 |
| 最近记录: |