2015-09-15 22 views
0

我试图建立(尽可能简单)“像Google Analytics一样”。这意味着:我想将具有少量信息(大小为< 2KB)的对象从网页存储到某个存储并能够查询它。从谷歌云上的网页存储高流量事件

我有JS代码将这些事件对象发送到Google App Engine上的PHP端点。然后,该端点将其插入到Google BigQuery中。问题来了:插入是通过Google API PHP库 - REST请求完成的。所以它执行非常慢的HTTP请求。

这里我的问题是:有没有更好的方式在谷歌云环境中存储事件?如果使用PubSub或Redis存储事件并且在后台有一些工作人员将此队列加载到BigQuery,那么效果会更好(还是更具成本效益?)?

任何想法如何做到这一点尽可能有效(性能和成本)尽可能将不胜​​感激!

回答

0

如果我必须这样做,我会先让端点处理程序将原始数据保存到push queue,因为在App Engine上入队的东西相对较快。数据和BigQuery API调用的处理稍后将在任务队列中完成。

根据App Engine语言(PHP,Go,Java,...)的不同,我猜你的性能和成本也会有所不同。

+0

哇!推送队列对于我正在尝试做的很棒,非常感谢你! 我目前正在构建简单的MVP,因此我认为现在选择的语言并不那么重要。但终端代码中的REST请求让我烦恼。 再次感谢! –