2015-09-15 20 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請求讓我煩惱。 再次感謝! –