api - 我们可以一起使用 REST + 事件溯源 + CQRS

标签 api rest domain-driven-design event-sourcing dddd

我了解 REST + 事件溯源的基础知识。
我从来没有在严格的 RESTful API 上工作过,也没有在任何 Event Sourcing 项目中工作过。

有人可以解释一下两者是否可以一起使用吗?

在事件源中,客户端发送事件,这是否意味着在服务器上有一个事件集合,并且 API 的所有 POST 都将在该集合中,以向其中添加事件?

客户端如何发现它可以发送到服务器的命令?

最佳答案

有人可以解释一下两者是否可以一起使用吗?

是的。客户端(浏览器)只是做它想做的事情,(http)服务器可以将这些 Action 记录为事件。

在事件源中,客户端发送事件,这是否意味着在服务器上有一个事件集合,并且 API 的所有 POST 都将在该集合中,以向其中添加事件?

不可以。客户端可以是事件的发起者,但不应该知道什么构成了事件,以防止基于该事件集合的服务器和客户端之间的紧密耦合。事件溯源应该被封装并且对参与者隐藏。

客户端如何发现它可以发送到服务器的命令?

如果您不需要像您在上一个问题中建议的那样在同一集合上发送事件,则这不是必需的。您可以简单地以任何您想要的方式发布 REST API,并向客户端/参与者隐藏事件源。看看http://restdesc.org/ .

关于api - 我们可以一起使用 REST + 事件溯源 + CQRS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17231040/

相关文章:

python - 如何将 G Suite Email Audit API 与 google-api-python-client 一起使用?

iphone - 适用于 iOS 和网站的 Twitter 应用程序

web-services - 为什么我的本地网站无法访问我本地的 REST 服务?

javascript - 验证http响应数据最有效的方法是什么

c# - 模拟礼品卡金额减少的 DDD 服务或实体

design-patterns - 领域驱动设计和工厂类的作用

java - 开发Android应用程序时使用外部库

python - 使用 tastypie 从 PointField 返回纬度和经度值

java - 如何从openfire Rest API中的restclient.entity.UserEntities中提取数据?

domain-driven-design - 偶尔连接CQRS系统