关闭。这个问题需要更多focused .它目前不接受答案。
想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .
2年前关闭。
Improve this question
我需要构建一个简单的分析后端来捕获用户行为。这将通过网页上的 Javascript 片段捕获,就像 Google Analytics 或 Mixpanel 数据一样。
系统需要捕捉接近实时的浏览器数据(页面滚动位置、鼠标位置等),每5秒记录一次用户页面的状态。每次测量只有三个属性,但必须经常测量。
数据不一定需要每 5 秒发送一次,它可以不那么频繁地使用,但是当用户在页面上时我必须获取所有数据。即我不能每分钟总线一次并丢失最后 59 秒的数据对于在 119 秒后离开的人。
如果可能的话,我想构建一个可以在可预见的 future 扩展的系统,这意味着它适用于 10,000 个站点,每个站点有 100 个并发访问者,即 100,000 个并发用户,每个用户每 5 秒发送一个事件。
我不担心查询数据,这可以使用单独的系统来完成。我最感兴趣的是如何处理数据本身的捕获。
要求
根据上述预算,系统需要每秒处理来自 100,000 个用户池的 20,000 个事件。
我想在 Heroku 上托管这个服务,但是虽然我已经用 Rails 做了很多工作,但我对高吞吐量系统完全陌生(除了知道你不使用 Rails 处理它们)。
问题
最佳答案
我对您的高级评论是按照 12 factor 构建您的系统。设计,然后担心随着客户的到来而扩展。我对 Node.js 和 npm 生态系统感到非常兴奋,但我也认为您可以使用 Rails 构建一个完全可以接受的平台。如果使用 Node 需要 3 dynos 来支持 100 K 并发用户,而使用 Rails 需要两倍,那么使用 Rails 可能会更好,如果您对 Ruby 感到满意,可以让您更快地进入市场 3 个月。无论如何,假设您使用 Node,以下是我的答案:
祝你好运。
关于node.js - 使用 Heroku 构建可扩展分析后端的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17253618/