[erlang-questions] Distributed Process Registry

Paul Oliver <>
Mon Feb 9 10:32:12 CET 2015


Hi Roberto,

In my experience cpg struggles with a high volume of joins/leaves.  By
default it uses a single gen_server as part of all such calls (the default
scope) and in my production system this ended up being a bottleneck.  A
potential workaround might be to create a bunch of scopes and hash over
them.

Cheers,
Paul.

On Sun Feb 08 2015 at 11:07:52 PM Roberto Ostinelli <
> wrote:

> Hi Michael,
> Do you know what the impact of this is when you add/remove keys often? I'm
> imagining a lot of communication (async) happening between nodes.
>
> I'm actually very ok with the AP portion of the CAP theorem (that pg2
> seems to offer) in contrast with the CA (of global/gproc).
>
> Just wandering if there are studies and impact on performance. As said, I
> have 3 nodes with a total of 500k pids that need registration
>
> Thanks,
> r.
>
>
>
> > On 08/feb/2015, at 22:10, Michael Truog <> wrote:
> >
> > The main reason is that you avoid the need to resolve state conflicts
> when global state gets merged after a netsplit.  With pg2 and cpg, all the
> state relevant to the local node is stored locally and remote state gets
> merged as nodes are added.  When a node dies, its pids are removed, as
> expected, but there is no need for centralized global state.
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20150209/a06b92fa/attachment.html>


More information about the erlang-questions mailing list