这个问题让我很困扰,我其实不需要这种比例,我只是好奇。最近Chris Mccord使用Elixir/Phoenix在一个盒子里获得了200万个持久连接。如果集群中有3个盒子,每个盒子处理200万个持久连接:
- 这是否意味着负载均衡器必须保持600万个持久连接,或者可以将连接转发到后端服务器并关闭负载均衡器上的连接?
- 我是否必须在客户端使用一些逻辑来分发连接并避免单个入口点?比如
box1.foo.com
,box2.foo.com
,box3.foo.com
,并告诉客户端连接到其中一个?
我知道答案可能是特定于应用程序的,但您能否举例说明如何实现这种规模?再说一次,这只是一个思考练习,我在任何地方都找不到答案,我对水平缩放感兴趣。
谢谢。
您将希望使用多个负载平衡器(或完全跳过负载平衡器)并使用轮询DNS(或加权DNS)在它们之间分发请求。这就是heroku的路由网格和aws的弹性负载均衡器的工作原理。你也可以花$$$购买f5负载均衡器