[erlang-questions] Best implementation for a clustered connected client list ?

Chris Hicks khandrish@REDACTED
Fri May 31 00:36:38 CEST 2013


Please keep in mind that this is the result of a total of about 5 seconds
of thinking.

You could have a coordinator on each node which is responsible for
communicating with the coordinators on all of the other connected nodes.
Your ETS entries would need to be expanded to keep track of the node that
the user is connected on as well. The coordinators track the
joining/leaving of the cluster of all other nodes and will purge the ETS
table of any entries that belong to any recently downed node. As long as
you don't have hard real-time requirements, which if you do you're using
the wrong tool anyway, then you can come up with a bunch of ways to group
together updates between coordinators to make sure they don't get
overloaded.

Without a lot more details on the exact sort of metrics your system needs
to be able to handle it's all really just a guessing game, in the end.


On Thu, May 30, 2013 at 8:38 AM, Morgan Segalis <msegalis@REDACTED> wrote:

> Hi everyone,
>
> I'm currently looking for better ways to do a clustered connected client
> list.
>
> On every server I have an ets table, in which I insert / delete / search
> the process of each client connecting to the server.
>
> Each row in the ets table is for now a simple {"id", <pid.of.process>}
>
> I have tried the gproc module from Ulf Wiger, but when a cluster goes
> down, everything goes wrong… (especially if it is the elected leader).
>
> If a cluster goes down, other clusters should consider that every client
> connected on the said cluster are actually not connected (even if is just a
> simple connection error between clusters).
> If it goes back online, back on the nodes() list, other clusters should
> consider clients on this cluster back online.
>
> What would be in your opinion the best way to do that ?
>
> It is a messaging system, so it has to handle massive message passing
> through processes.
>
> Thank you for your help.
>
> Morgan.
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130530/1e9e8f0f/attachment.htm>


More information about the erlang-questions mailing list