gpt4 book ai didi

erlang - 如果记录变化很快,是否可以保证 mnesia 事件监听器能够获取记录的每个状态?

转载 作者:行者123 更新时间:2023-12-02 09:18:08 25 4
gpt4 key购买 nike

假设我有一些记录,例如 {my_table, Id, Value}
我不断地覆盖该值,以便它保存连续的整数,如 1、2、3、4、5 等。在分布式环境中,是否可以保证我的事件监听器将收到所有值? (我不关心订购)

最佳答案

我还没有通过阅读源代码的该部分来验证这一点,但似乎发送消息是更新过程的一部分,因此消息应该总是发出,即使是在非常快的更改中。 (Mnesia 的另一种选择是对消息或队列更改进行排队,然后批量运行它们。我几乎肯定这不会发生——很难预测启动批处理作业或排队的有利时刻的变化消息。发送消息通常比在数据库中进行更改要便宜得多。)

由于 Erlang 保证将消息传递到实时目的地,这就像您可能得到的每一个 Mnesia 更改最终都会被看到的 promise 一样接近。在接收端无法保证消息的顺序(正如您所期望的那样),当然,网络故障可能会导致一组消息丢失(从发送者的角度来看,使目的地呈现出非实时状态) .

关于erlang - 如果记录变化很快,是否可以保证 mnesia 事件监听器能够获取记录的每个状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26869881/

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