1

我正在对我正在从事的一个需要低延迟和高并发性的新项目进行一些指导。该项目涉及从第三方提要接收实时数据,并在进行一些基本处理和存储后,将这些值发送给当前在网站上活跃的所有用户。

数据通过 HTTP Push 到达,我目前的计划是使用 Node.js 接收这些数据,然后通过算法运行数据,然后更新某种数据库中的相关数据。最后,更新通过 websocket 发送给网站的所有连接用户。

现在,我正在尝试让这种可扩展的方式一次处理超过 10,000 个连接的用户,所有用户都通过 websocket 连接,并且大约每 3 秒发送一次更新。鉴于在此期间每个用户都可以与 Web 应用程序交互,这将导致许多来回请求。

现在,除了我拥有的高级基本想法之外,决定让 Ruby on Rails 作为网站框架和节点 js 来处理这一切的“活跃性”——我有点卡住了。我不知道要使用哪种数据库(我想它将是一个用于快速存储的非关系数据库),我不知道如何构建这样一个设置的细节,以及如何实现逻辑.

所以我的问题是:考虑到我的目标,我该如何构建这样的应用程序?我需要知道什么才能使其可扩展和实时达到我想要的水平?

非常感谢您的帮助。

4

1 回答 1

3

我会推荐一些图书馆来看看。

  • now远程 RPC 变得微不足道。
  • cradle用于持久存储的 couchdb 数据库抽象。
  • 'node_redis'用于跨机器通信的redis数据库抽象
  • cluster跨多个进程扩展您的程序。
于 2011-05-09T22:26:07.443 回答