[erlang-questions] High payload messages between nodes

Roberto Ostinelli <>
Tue Oct 23 04:28:54 CEST 2012


Dear list,

I'm building a 2-tier architecture where:

   - the 1st tier is dedicated to keeping open socket connections to the
   outside clients, and then sends anything it receives from TCP to the 2nd
   tier
   - the 2nd tier receives all TCP data from the 1st tier and does the real
   job

The reason why I'm doing this is because in case of crashes in the main
application (2nd tier), then the outside connections will still be alive,
hence avoiding the horrible peak of clients trying to reconnect all at once.

My main issue is that, afaik, sending big messages between nodes is
actually a performance killer. If we set up this 2-tier architecture, then
every stanza that gets received from the 1st tier will have to be resent
internally to another node.

So, while the 1st tier gets this from individual sockets, the message
passing between nodes gets done on a single TCP connection between nodes.
I'm just afraid this is actually bad design and can lead to problems.

Therefore: are there alternatives to this? A custom Erlang transport? A
pool of sockets?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121022/bd6b6f86/attachment.html>


More information about the erlang-questions mailing list