架构/设计挑战:使用社交媒体API

时间:2013-02-18 05:26:44

标签: ruby-on-rails node.js architecture soa saas

我们一直在开发基于社交媒体的Rails应用程序,该应用程序可以挖掘各种服务的数据,如twitter,facebook,linkedin等等。 我们在使用这些服务时面临严重的性能问题。

例如, 我们正在访问Twitter user_timeline以准备一些统计信息。 正如Twitter强加limitation on number of tweets can be fetched,我们必须使用分页来获取所有推文,这会导致多个API调用并阻止IO。 因此,用户必须等待许多秒,这是不可接受的UX。

我们是Ruby / Rails的新手,需要建设/设计消费此类API(Facebook,LinkedIn)的建议。请帮助我们。

更新 我们一直在探索ruby(delayed_job,eventmachine)和非ruby(node.js)解决方案。

1 个答案:

答案 0 :(得分:0)

通常在rails世界中,如上所述的登录运行流程是通过后台服务完成的。

后台服务就像Java中的线程一样。你的工作流程是

  1. 用户访问网页
  2. 用户点击查看推文按钮(将触发提取 数据通过twitter api)
  3. 推文提取作为后台进程启动
  4. 页面将加载而不等到api提取完成
  5. 并且有几个后台处理宝石delayed_jobsidekiq