【问题标题】:Suitable architecture / language for sclabale twitter / facebook / myspace activity database适用于 sclabale twitter / facebook / myspace 活动数据库的架构/语言
【发布时间】:2011-03-28 10:28:28
【问题描述】:

快速介绍

我已经构建了一个系统,该系统每 20 分钟从社交网络 API 请求 1000 多个不同主题的统计信息。 所以我为每个主题打电话给每个社交网络。这意味着我每 20 分钟插槽发出 1000 次 http 请求。然后在单独的任务中处理结果。

当前解决方案

我正在从主管定期调用的命令行运行 php。然后将数据保存到 Mysql。

很多问题!

由于 php 不能多线程或利用异步 http 请求,api 脚本需要很长时间才能从社交网络一次一个连接中获取数据。

随着我的“主题”数据模型变得越来越复杂,我可能需要开始加入表格并且还需要拥有多个服务器。

未来

要添加越来越多的主题,具有大量数字运算的分析工具。

我真的很想听听其他人对这种域的使用情况。例如。平台/语言/库/数据库/守护程序工具等

约翰

【问题讨论】:

标签: database http architecture rest


【解决方案1】:

我已经构建了一个系统,该系统每 20 分钟从社交网络 API 请求 1000 多个不同主题的统计信息。所以我为每个主题打电话给每个社交网络。这意味着我每 20 分钟插槽发出 1000 次 http 请求。然后在单独的任务中处理结果。

第一个问题在这里 - 您正在根据主题进行轮询,无论该主题是否已在时间间隔内更新。您可能会发现,对自上次投票以来的新文章进行投票并过滤掉您感兴趣的内容会显着提高效率。

由于php不能多线程

为什么认为您需要多线程来运行多个 php 脚本实例?定义一个公共数据存储,其中包含需要完成的工作的详细信息以及将请求分区到您喜欢的实例数量的方法,并编写一个脚本来启动这个数量的实例,并将分区标识符传递给每个实例。

或利用异步 http 请求

cURL 扩展可以。

我可能需要开始加入表格

!我的天啊 !你一定是某种计算机天才!我可以购买贵公司的股票吗!

说真的 - “加入表格”与您所描述的问题的任何解决方案毫无关系。 “多台服务器”无助于解决您的数据复杂性问题(但有助于解决实际的性能问题)。

【讨论】:

  • ok ok ok 我对连接表有点困惑。我所说的也许是 mongodb 是一个更好的扩展选择,因为我可以使用嵌入式文档而不是加入大量表。我不是白痴 - 我保证 :) 我需要每次都对受试者进行调查,因为我测量的是上次我不知道 curl 可以做到这一点的活动差异 - 谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-09-25
  • 2012-10-19
  • 2014-03-11
  • 2012-10-04
  • 1970-01-01
相关资源
最近更新 更多