2016-04-15 85 views
1

我在Erlang(单一节点)中实现“流程注册表”,因此我可以根据各种字段/条件查找用户流程。这些进程将异步更新mnesia ram数据库,方法是将其转换为管理该表的服务器进程。服务器进程还将监视进程,以便在进程意外死亡时可以删除条目。Mnesia流程注册表最佳实践

这是否有意义?将ref放在每个注册表表格的元组键中是最好的方法吗?我认为这种模式比较常见,人们通常如何做到这一点(请不要说gproc)?

回答

0

理论上它有很多意义。许多程序需要这样的东西。

实际上,您应该在本地模式下使用gproc,而不是重新发明轮子。

1

Gproc不允许增加erlang集群。它应该在添加新机器时重新启动。

你可以使用syn出于同样的目的:https://github.com/ostinelli/syn 这是基于mnesia的进程注册表有一些限制。 它不能保留一个pid几个名字(不幸)