0

我想用 socket.io(node.js 框架)每 3 秒向大量用户广播一条 1Kb 的消息。扩展它的最佳方法是什么(1 用户 = 1 'listener' with socket.on('periodicMessage',callback))?

没有其他 CPU 使用率(每 3 秒读取一次由其他外部模块填充的外部数据库),所以我想知道一个简单的 heroku 服务器是否可以将消息广播到 10 000、100 000、100 万或更多用户。

4

1 回答 1

1

我们在单个 node.js 进程上轻松扩展到数以万计的“侦听器”。我不确定您实际上可以扩展到多少,因为每个套接字都是一个文件描述符,而普通的 vanilla 内核可以为每个进程拥有 65K fd,仅此而已。

CPU不会有问题。如果有的话,上传带宽将是(1KB * 50K 用户 / 3 秒 = 50M/3sec = 16MB/s 上游。我从未测量过 Heroku,所以不知道他们是否支持这个。我想他们支持,但也许他们限制你,因为他们毕竟为此向亚马逊支付了费用)。

于 2013-08-05T16:16:04.090 回答