![]() |
1
2
我认为,如果您使用消息队列系统(可能是rabbitmq)自己从消息队列提要更新复制的db来构建这种非现场复制,您会更高兴。广域网链路更可能出现拥塞或故障,消息队列协议有办法解决这一问题。Erlang发行版放弃了,您必须将更新溢出到一个文件中,直到复制副本出现并可以使用它。 为了获得最佳对称性,将发布到消息队列作为更新数据库的主要方法。因此,即使是主机也会通过从消息队列中消费来更新。如果需要响应,当前主机可以将消息发送回消息的颁发者。 记忆有几种不同的记忆方式 mnesia transaction contexts |
![]() |
2
1
也许您的应用程序可以从使用粘性锁中获益。我想这很接近你的需要,但是…不完全是你想要的 http://www.erlang.org/documentation/doc-5.8.3/lib/mnesia-4.4.17/doc/html/Mnesia_chap4.html#id70700 |
![]() |
3
0
有趣的Q和同样有趣的A! 基本上,Christian,你的建议是,例如,拥有一个gen_服务器——序列化对数据库的访问。 我第一次这么做,然后我意识到:坚持住!Mnesia是事务性的,所以首先序列化访问,然后通过事务更新数据库,这听起来有点奇怪。
我知道这并不是对你问题的直接回答,但是,我要说的是使用mnesia+memorynodes+disknodes。用于快速接管的memorynodes和用于崩溃/备份后恢复的disknodes。 嗯,, 哈维 |
![]() |
tokenvolt · 同一节点上2个独立IEx会话中的Mnesia 8 年前 |
|
BeinTouch · ejabberd Mnesia数据库备份 9 年前 |
![]() |
Geek · 提取对应于记忆值的多行 10 年前 |