[erlang-questions] Messaging patterns

S X erlangprogram@REDACTED
Fri Mar 22 20:56:18 CET 2013

Hi Lee,

Not sure I understood your problem correct or not. Just try to throw some

What you want to do is similar to the massive online gaming with virtual
play rooms. And player wants to get into one player room dynamically
decided by the server.

Basically, you want to do the following things:
- Service Routing: meaning routing the user to the proper node (having
service with least load?)
- Node information sharing/communicating
- Load balancing algorithm

As my understanding, RIAK (the distributed database in erlang) has
capabilities to do more than the above. Maybe you can refer to it as a
reference to get some ideas.


On Fri, Mar 22, 2013 at 3:25 PM, Lee Sylvester <lee.sylvester@REDACTED>wrote:

> Hey guys,
> I'm writing a messaging service where connected users are placed in a
> room.  Users can then message other users in this same room.  This is the
> easy part :-)
> I now want to make this service distributed.  Users will be added to rooms
> in a service that is most "available", so it must be at the nearest
> datacentre with the least load.  Therefore, I need to find a pattern that
> allows users to communicate across services.  Essentially, users should be
> able to message anyone in there room regardless of what service manages
> their connection.  However, if I have 200 services, but only two people in
> a room, I'd like to avoid those other 198 services having to deal with the
> messages.
> Question is, then, does anyone know of a pattern or best practice that
> supports this paradigm?
> Thanks loads in advance.
> Lee
> _______________________________________________
> 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/20130322/a7fd69cb/attachment.htm>

More information about the erlang-questions mailing list