上線
Events
關於代理做了什麼以及為什麼的永久記錄。
功能說明
代理間的工作被記錄為Postgres帳本中的任務、事件、邊和工件,該帳本能夠在重啟後倖存並可以重放。一個有類型的進程內總線向節點內的訂閱者傳輸大約90種域事件。一起,他們給你一個時間線:問了什麼、委派給誰、返回什麼以及停止在哪裡。
重要性
當代理鏈做出令人驚訝的事情時,唯一有用的問題是"告訴我步驟"。持久的任務帳本使其成為一個查詢而不是考古項目,並使重試和取消成為真實操作而不是希望。
運作原理
任務帳本是持久的並且可重放的。
任務、事件、委派邊和工件是Postgres中的行,因此重啟不會丟失跟踪,停止的邊可以重試。
取消和重試是一等公民。
針對正在運行的任務的操作本身被記錄為事件,因此乾預是時間線的一部分。
進程內總線對其範圍誠實。
這是一個類型化的單節點發射器。我們不將其描述為分布式事件骨幹,因為它不是。
問題
- 這是Kafka嗎?
- 否。進程內總線是節點本地類型的發射器,耐用性來自Postgres任務帳本。如果您需要跨集群流式傳輸,那不是這樣。
- 我能看到代理做了什麼嗎?
- 是的:包含事件、委派邊和工件的任務時間線,包括針對它採取的乾預措施。
返回故事
That was step 6 of 6: a reply leaves, and the trail stays. 這就是完整的路徑,從抵達到可重播的記錄。