gpt4 book ai didi

Akka 持久性 : deleting "old" messages in journal

转载 作者:行者123 更新时间:2023-12-01 01:49:27 26 4
gpt4 key购买 nike

清理快照存储中的旧快照很容易:在每个成功的快照之后,actor 都会收到一个 saveSnapshotSuccess元数据指示其序列号,此信息可用于构建快照SnapshotSelectionCriteria然后被送到deleteSnapshots .

然而,没有等价于 saveSnapshotSuccess用于持久化消息。因此,不可能知道日志中“last-ish”消息的序列号是多少。可能会保留持久消息计数的本地缓存并对其进行快照,以用于调用 deleteMessages但这太乏味了。

有没有办法使用persistence-query接收 Actor 的最后一个持久消息以获取序列号的指示,然后可能调用deleteMessagesval seqNr = sequenceNumberObtainedFromReadJournal - 100 , (假设我们对参与者的状态进行快照,比如每 50 条消息之后)?

附言传递给 deleteMessages 的序列号的选择当然比上面提到的要复杂一点:即使有一种方法可以从日志中获取一个 Actor 的最后一条消息的序列号,也不得不担心最后三个快照失败的可能性,所以它不像只使用 100 和 50 那样简单),所以实现会涉及更多,但至少我们不会用持久性序列计数污染快照类型。

最佳答案

您可以直接调用lastSequenceNr来自你执着的 Actor 。

关于Akka 持久性 : deleting "old" messages in journal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45716079/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com