Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Heroku和Node.js上缩放WebSocket_Node.js_Heroku_Websocket_Horizontal Scaling - Fatal编程技术网

在Heroku和Node.js上缩放WebSocket

在Heroku和Node.js上缩放WebSocket,node.js,heroku,websocket,horizontal-scaling,Node.js,Heroku,Websocket,Horizontal Scaling,假设我有一个大型应用程序在Heroku上处理大量WebSocket连接。为了满足如此大的需求,dynos的数量增加到N Heroku的路由器将如何在运行的Dyno之间分配新的传入WebSocket连接 换句话说,如果其中一个dynos在websockets连接中被最大化,那么Heroku的路由器是否会将所有新的传入请求转移到其他(据说)不太繁忙的dynos中?还是仍将使用随机分配 这肯定是有道理的,因为WebSocket连接在第一个实例中就是http连接。然而,在运行的dynos中,在N之间均匀

假设我有一个大型应用程序在Heroku上处理大量WebSocket连接。为了满足如此大的需求,dynos的数量增加到
N

Heroku的路由器将如何在运行的Dyno之间分配新的传入WebSocket连接

换句话说,如果其中一个dynos在websockets连接中被最大化,那么Heroku的路由器是否会将所有新的传入请求转移到其他(据说)不太繁忙的dynos中?还是仍将使用随机分配

这肯定是有道理的,因为WebSocket连接在第一个实例中就是http连接。然而,在运行的dynos中,在
N
之间均匀地扩展大量的持久连接是相当复杂的

有人确认吗?

你链接到的页面上写着“路由器使用随机选择算法在web动态中平衡HTTP请求负载。”这似乎是明确的。请注意,Heroku在这个问题上与Rap Genius发生了冲突,尽管这是因为他们的旧竹堆

一般来说,通过添加dyno,您应该能够避免任何一个dyno过载,因为websockets实际上并不为每个支持的额外连接使用额外的RAM。在最坏的情况下,忙碌的dynos只会遭受更高的延迟