mirror of
https://github.com/Vonng/ddia.git
synced 2024-12-06 15:20:12 +08:00
Update ch11.md
This commit is contained in:
parent
f070e61e8c
commit
ed3cc3eb10
4
ch11.md
4
ch11.md
@ -324,7 +324,7 @@ Kafka Connect【41】致力于将广泛的数据库系统的变更数据捕获
|
||||
|
||||
#### 命令和事件
|
||||
|
||||
事件溯源的哲学是仔细区分 **事件(event)** 和 **命令(command)**【48】。当来自用户的请求刚到达时,它一开始是一个命令:在这个时间点上它仍然可能可能失败,比如,因为违反了一些完整性条件。应用必须首先验证它是否可以执行该命令。如果验证成功并且命令被接受,则它变为一个持久化且不可变的事件。
|
||||
事件溯源的哲学是仔细区分 **事件(event)** 和 **命令(command)**【48】。当来自用户的请求刚到达时,它一开始是一个命令:在这个时间点上它仍然可能失败,比如,因为违反了一些完整性条件。应用必须首先验证它是否可以执行该命令。如果验证成功并且命令被接受,则它变为一个持久化且不可变的事件。
|
||||
|
||||
例如,如果用户试图注册特定用户名,或预定飞机或剧院的座位,则应用需要检查用户名或座位是否已被占用。(先前在 “[容错共识](ch9.md#容错共识)” 中讨论过这个例子)当检查成功时,应用可以生成一个事件,指示特定的用户名是由特定的用户 ID 注册的,或者座位已经预留给特定的顾客。
|
||||
|
||||
@ -824,4 +824,4 @@ Storm 的 Trident 基于类似的想法来处理状态【78】。依赖幂等性
|
||||
|
||||
| 上一章 | 目录 | 下一章 |
|
||||
| ------------------------- | ------------------------------- | ---------------------------------- |
|
||||
| [第十章:批处理](ch10.md) | [设计数据密集型应用](README.md) | [第十二章:数据系统的未来](ch12.md) |
|
||||
| [第十章:批处理](ch10.md) | [设计数据密集型应用](README.md) | [第十二章:数据系统的未来](ch12.md) |
|
||||
|
Loading…
Reference in New Issue
Block a user