我了解 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/