CQRS 保存事件与日志记录

13-05-14 bingyang
    

请问,bang:

在一个复杂的业务操作过程中,用CQRS保存操作事件,和用log记录操作过程 ,有什么不一样呢,比如:用户A在10点修改了他的个人资料,此时由于系统异常 修改资料形成了涨数据;这个过程,如果用log记录 和CQRS实现 ,有什么不一样?

    

banq
2013-05-14 16:37

2013-05-14 15:09 "@bingyang

"的内容

用CQRS保存操作事件 ...

EventSourcing其实是一种Domain log,主要是来自界面的命令触发的事件。

如果说传统日志只是基于URL的记录,而在响应交互式UI中,有的一个URL中可以有不同命令调用,其实这也是事件驱动和传统CRUD或REST区别。

http://www.jdon.com/45385

bingyang
2013-05-14 18:56

谢谢回复。呵呵,我对如何回放业务过程的领域事件(比如现在做法是如果有业务异常,大多是从DB,文本log及监控信息区排查,但无法快速定位问题所在,CQRS中保存的事件 如何重建流程来还原这个业务流程呢?),有些疑问,望指教。

banq
2013-05-15 08:15

2013-05-14 18:56 "@bingyang

"的内容

如何重建流程来还原这个业务流程呢? ...

http://www.jdon.com/44815中Match为案例,在Match中有handle事件的方法,当需要回放时,将数据库中的事件记录按顺序读取出来,直接调用这个handle方法即可。

当然,这个过程主要要控制顺序,可使用专门的EventStore框架如Scala的eventSourced。

http://www.jdon.com/45399

[该贴被banq于2013-05-15 08:44修改过]

bingyang
2013-05-15 09:47

非常感谢。这个我动手实践下;