<div dir="ltr"><div>Now that we see how deep this rabbit hole goes. Would it perhaps be feasible to only use a local registry on each node, then send every message to both nodes. If a node does not have a process you're looking for registered it just returns error or does nothing.<br><br></div><br><div><div>Sergej<br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Feb 9, 2015 at 10:32 AM, Paul Oliver <span dir="ltr"><<a href="mailto:puzza007@gmail.com" target="_blank">puzza007@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Roberto,<div><br></div><div>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.</div><div><br></div><div>Cheers,</div><div>Paul.<div><div class="h5"><br><br><div class="gmail_quote">On Sun Feb 08 2015 at 11:07:52 PM Roberto Ostinelli <<a href="mailto:roberto.ostinelli@widetag.com" target="_blank">roberto.ostinelli@widetag.com</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Michael,<br>
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.<br>
<br>
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).<br>
<br>
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<br>
<br>
Thanks,<br>
r.<br>
<br>
<br>
<br>
> On 08/feb/2015, at 22:10, Michael Truog <<a href="mailto:mjtruog@gmail.com" target="_blank">mjtruog@gmail.com</a>> wrote:<br>
><br>
> 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.<br>
______________________________<u></u>_________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/<u></u>listinfo/erlang-questions</a><br>
</blockquote></div></div></div></div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br></div>