上线
Events
关于代理做了什么以及为什么的永久记录。
它的作用
代理间的工作被记录为Postgres账本中的任务、事件、边和工件,该账本能够在重启后幸存并可以重放。一个有类型的进程内总线向节点内的订阅者传输大约90种域事件。一起,他们给你一个时间线:问了什么、委派给谁、返回什么以及停止在哪里。
为什么它很重要
当代理链做出令人惊讶的事情时,唯一有用的问题是"告诉我步骤"。持久的任务账本使其成为一个查询而不是考古项目,并使重试和取消成为真实操作而不是希望。
工作原理
任务账本是持久的并且可重放的。
任务、事件、委派边和工件是Postgres中的行,因此重启不会丢失跟踪,停止的边可以重试。
取消和重试是一等公民。
针对正在运行的任务的操作本身被记录为事件,因此干预是时间线的一部分。
进程内总线对其范围诚实。
这是一个类型化的单节点发射器。我们不将其描述为分布式事件骨干,因为它不是。
问题
- 这是Kafka吗?
- 否。进程内总线是节点本地类型的发射器,耐用性来自Postgres任务账本。如果您需要跨集群流式传输,那不是这样。
- 我能看到代理做了什么吗?
- 是的:包含事件、委派边和工件的任务时间线,包括针对它采取的干预措施。
返回故事
That was step 6 of 6: a reply leaves, and the trail stays. 这就是完整的路径,从到达直到生成可回放的记录。