如何在Elixir / Phoenix群集中分发持久连接?

时间:2016-09-04 01:12:36

标签: erlang cluster-computing load-balancing elixir horizontal-scaling

所以这个问题困扰着我,我实际上并不需要这种规模,我只是好奇。 Recently Chris Mccord got 2 million persistent connections in a single box using Elixir/Phoenix。如果我在一个集群中有3个盒子,每个盒子处理200万个持久连接:

  1. 这是否意味着负载均衡器必须保留600万个持久连接,或者是否可以将连接转发到后端服务器并关闭负载均衡器上的连接?
  2. 我是否必须使用客户端中的某些逻辑分发连接并避免单个入口点?像box1.foo.combox2.foo.combox3.foo.com之类的东西,并告诉客户连接到其中一个?
  3. 我知道答案可能是针对特定应用的,但是请您举例说明如何实现这种规模?同样,这只是一个思考练习,我无法在任何地方找到答案,我对水平缩放感兴趣。

    谢谢。

1 个答案:

答案 0 :(得分:5)

您希望使用多个负载均衡器(或完全跳过负载均衡器)并使用循环dns(或加权dns)在它们之间分配请求。这就是heroku的路由网和aws'弹性负载平衡器工作。你还可以在像f5负载均衡器这样的东西上花费$$$