我有一个运行了大量自定义模块的ejabberd服务器.我有几个mnesia表,我知道这些可以很容易地在节点之间复制而根本不需要对代码进行任何更改.我想知道是否有与ets表类似的方式?
理想情况下,能够让几台机器运行完全相同的mnesia和ets数据是很好的,而不必将我的ets表转换为mnesia表.(从而重写了大量的代码.)
虽然我曾经做过一次rpc:在每个节点的ets表上调用,但我不确定这会对性能产生什么影响.
如果有人有任何答案,请告诉我.
不,ets表内容无法为您复制.
复制(和事务安全)是mnesia数据库应用程序引入的功能,其实现使用ets用于ram_only表.