如何跨Elixir/Phoenix集群分发持久连接



这个问题让我很困扰,我其实不需要这种比例,我只是好奇。最近Chris Mccord使用Elixir/Phoenix在一个盒子里获得了200万个持久连接。如果集群中有3个盒子,每个盒子处理200万个持久连接:

  1. 这是否意味着负载均衡器必须保持600万个持久连接,或者可以将连接转发到后端服务器并关闭负载均衡器上的连接?
  2. 我是否必须在客户端使用一些逻辑来分发连接并避免单个入口点?比如box1.foo.com, box2.foo.com, box3.foo.com,并告诉客户端连接到其中一个?

我知道答案可能是特定于应用程序的,但您能否举例说明如何实现这种规模?再说一次,这只是一个思考练习,我在任何地方都找不到答案,我对水平缩放感兴趣。

谢谢。

您将希望使用多个负载平衡器(或完全跳过负载平衡器)并使用轮询DNS(或加权DNS)在它们之间分发请求。这就是heroku的路由网格和aws的弹性负载均衡器的工作原理。你也可以花$$$购买f5负载均衡器

最新更新