title: Using Erlang, how should I distribute load amongst a cluster?
body: <p>I was looking at the slave/pool modules and it seems similar to what I
  want, but it also seems like I have a single point of failure in my
  application (if the master node goes down).</p>
  
  <p>The client has a list of gateways (for the sake of fallback - all do
  the same thing) which accept connections, and one is chosen from
  randomly by the client. When the client connects all nodes are
  examined to see which has the least load and then the IP of the least-
  loaded server is forwarded back to the client. The client then
  connects to this server and everything is executed there.</p>
  
  <p>In summary, I want all nodes to act as both gateways and to actually
  process client requests. The load balancing is only done when the
  client initially connects - all of the actual packets and processed on
  the client's "home" node.</p>
  
  <p>How would I do this? </p>