2

假设我有一个大型应用程序在 Heroku 上处理大量 websockets 连接。为了应对如此大的需求,测功机的数量增加到N.

Heroku 的路由器将如何在正在运行的测功机之间分配新的传入 websockets 连接?

换句话说,如果其中一个 dyno 在 websockets 连接中被最大化,Heroku 的路由器是否会在其他(据说)不太忙的 dyno 之间偏离所有新的传入请求?或者它是否仍将使用文档中所述的随机分配来进行 http 传入连接

这绝对是有道理的,因为 websockets 连接首先是 http 连接。N然而,在运行的测功机之间均匀地扩展大量持久连接将是相当复杂的。

有人确认吗?

4

1 回答 1

1

您链接到的页面显示“路由器使用随机选择算法来实现跨 Web dyno 的 HTTP 请求负载平衡。” 这似乎毫不含糊。请注意,Heroku 与 Rap Genius 正是在这个问题上遇到了麻烦,尽管它与他们较旧的 Bamboo 堆栈有关。

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

于 2013-11-02T17:20:39.260 回答