Pet*_*xey 10 heroku websocket node.js
我需要构建一个简单的分析后端来捕获用户行为.这将通过网页上的Javascript代码段捕获,就像Google Analytics或Mixpanel数据一样.
系统需要捕获接近实时的浏览器数据(滚动页面位置,鼠标位置等).它将每5秒记录一次用户页面的状态.每次测量只有三个属性,但必须经常进行.
数据不一定需要每5秒发送一次,它可以不那么频繁地加速,但是当用户在页面上时,我必须获得所有数据.即我不能每分钟一次公共汽车,并在119秒后离开的人丢失最后59秒的数据.
如果可能的话,我想建立一个在可预见的未来可扩展的系统,这意味着它可以为10,000个站点工作,每个站点有100个并发访问者,即100,000个并发用户,每个用户每5秒发送一个事件.
我并不担心查询数据,可以使用单独的系统来完成.我最感兴趣的是如何处理数据本身的捕获.
根据上述预算,系统需要处理来自100,000个用户的每秒20,000个事件.
我想在Heroku上托管这项服务,但是当我用Rails做了很多工作时,我对高吞吐量系统完全不熟悉(除了知道你不使用Rails处理它们).
我对您的高级评论是按照12因素设计构建您的系统,然后担心随着客户的到来进行扩展.我对Node.js和npm生态系统感到非常兴奋,但我也认为你可以用Rails构建一个完全可以接受的平台.如果使用3个dynos来支持100个并发用户并使用Rails加倍,那么使用Rails可能会更好,如果你对Ruby的安慰让你上市3个月更快.无论如何,假设你使用Node,这里是我的答案:
祝好运.
| 归档时间: |
|
| 查看次数: |
1380 次 |
| 最近记录: |