哪些分布式进程注册表可用于Erlang? [英] What distributed process registries are available for Erlang?
问题描述
这样的库需要支持像这样的基本操作, register_name(Pid,Name)
和 whereis_name(Name)
(最好是 registered_names / 0
)。名称不应仅限于原子,并且这些注册/查找操作需要合理可靠地与多个节点参与注册表(忽略现在的分区)。
到目前为止,我已经提出了 global
, gproc
和 nprocreg
。其他可用的?
我会认为riak_core是这样的。我使用它的分区环+一致的哈希来查找节点,加上一个本地的gproc实例来查找确切的过程。因此,我在容错,可用性和速度之间得到很好的平衡。
I'd like to compile a reasonably complete list of distributed process registry libraries for Erlang.
Such libraries need to support basic operations like register_name(Pid, Name)
and whereis_name(Name)
(and ideally registered_names/0
). Names shouldn't be restricted to atoms only, and these registration/lookup operations need to work reasonably reliably with multiple nodes participating in the registry (ignoring partitions for now).
So far I've come up with global
, gproc
and nprocreg
. What others are available?
I would argue that riak_core is such. I use its partition ring + consistent hashing to find the node, together with a local gproc instance to find the exact process. Thus I get very fine balance between fault tolerance, availability and speed.
这篇关于哪些分布式进程注册表可用于Erlang?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!