1

Superfeedr 是一种按需解析提要服务。我们想为我们的用户提供分析,我们正在研究这样做的最佳策略。

简而言之,我们希望跟踪系统中的操作数量(事件,例如:给定提要中的新条目)以及汇总数据(提要的订阅者数量)。

当然,可以根据事件“计算”聚合数据。(订阅者的数量是订阅的总和,减去取消订阅的总和)。然而,由于我们想随着时间的推移研究这一点(每天的订阅者数量),事件方法可能不是最佳的,因为我们会一遍又一遍地重新计算相同的东西。

如何在您的应用程序中构建这样的组件?什么信息流?什么数据存储?什么图形解决方案?ETC...

我知道这是一个非常开放的问题,但我相信我们不是第一个有这种需求的人!

[更新]:基础设施:我们有一组工作人员,它们是 XMPP 客户端并一起交互。它们基于 EventMachine,这意味着它们不会阻塞 IO。预期目标:我们必须能够收集大量数据。目前,我们已经达到了大约 200-300 msg/sec,我们的目标是 10x-100x。

4

1 回答 1

2

如果没有有关您的基础架构和所需扩展目标的更多信息,很难说。您可能会发现这个关于Twitter 如何使用 Hadoop的幻灯片具有指导意义。它是由Kevin Weil在最近的NoSQL East 会议上提出的。

替代文字

借鉴 Twitter 所做的想法,您可以考虑将架构分为收集、分析和渲染阶段。

收集阶段:超低延迟。非常可扩展。很多绑定选择。在facebook开发。

处理节点日志事件 -> Scribe -> HDFS

分析阶段:类似 SQL 的查询语言,也允许您进行探索性的临时查询。

HDFS ->-> MySQL

渲染阶段:在您当前的 Web 框架中实现

MySQL -> JSON -> Memcached -> Flash 图表

这里有一些关于为 web 选择 Flash 图表组件的帖子。我个人在AmCharts上取得了很好的成功。

于 2009-11-22T12:48:43.110 回答