2008-09-25 39 views
7

我正在構建一個Lifestreaming應用程序,該應用程序需要爲大量用戶提供大量提要,並對結果執行數據挖掘和機器學習算法。 GAE的負載平衡和可擴展主機聽起來很適合一個系統,最終可能圍繞大量數據移動,但缺乏cron工作是令人討厭的。我會更好地使用Django在同一地點和處理我自己的數據庫縮放嗎?Google App Engine是Lifestreaming應用的有價值平臺嗎?

回答

3

儘管我無法直接回答您的問題,但我在構建Microupdater(在AppEngine上收集幾百條Feed的新聞聚合器)的體驗可能會讓您有所洞察。

  • 提取飼料。通過cron作業獲取大量的feed(這是唯一的解決方案,直到SDK 1.2.5)效率和可擴展性,它的工作頻率下限(比如1分鐘,所以每次最多隻能獲取60個feed)。並且最新的SDK 1.2.5有XMPP API,我還沒有實現。最有希望的方法是PubSubHubbub,其中您提供回調網址,HubBub將通知您實時中的新條目。 AppEngine上有一個demo implementation,你可以玩。

  • 解析提要。您可能已經知道解析提要是cpu密集型的。我使用Mark Pilgrim的Universal Feed Parser,當解析一個大的feed(比如一個公開的google reader主題)時,AppEngine可能無法處理所有的條目。我的儀表板有很多這些CPU限制警告。但這可能會導致我無法優化代碼。

完全說,AppEngine還不是lifestream app的理想平臺,但未來可能會改變。

+1

對不起,StackOverFlow不允許發佈*多於一個鏈接,因爲我是新來的。所以你需要谷歌剩下的4個鏈接。 – 2009-09-08 16:10:15

3

它們在提供付費計劃時可能會發生變化,但就目前而言,App Engine並不適合CPU密集型應用程序。它旨在擴展以處理大量的請求,而不一定是每個請求的大量計算。我正在用相當小的計算來解決這個問題,而且我擔心隨着數據集的增長,我可能不得不開始尋找別處。

0

不需要。如果您需要大量的工作,App Engine不會很好。您可以在進行離線預處理之後將數據放入商店,但您在每次請求的約1秒鐘內無法做大量的事情,而無需執行某些真正的瘋狂事情。

你的應用可能會更好在您自己的託管。

0

拉動飼料或做計算不會是一個問題。但您很快就必須爲您的帳戶付款。 App引擎包括Django,除了您需要使用模型部件的一些適配器。它一定會讓你免於維護頭痛。

1

如果你的應用完全依賴於Django,那麼App Engine是一個不錯的選擇。但是,如果您需要添加C增強庫,您就會陷入困境。 App Engine不支持諸如PIL或ReportLab之類的東西,它們使用C來加快處理時間。我只提到這一點,因爲你可能想用C來加速你的一些例程。

如果您決定使用co-loc,請查看WebFaction.com。他們有很棒的Django/Python支持,他們在使用上述lirbaries時沒有問題。

1

Slice Host看一看:他們出售的基於虛擬化的服務器實例的Xen開始在$ 20.00 /月......

我們跟你一樣。超賣, 表現不佳,古承 公司。我們將自己的手帶入我們的 。我們爲知道他們的東西的人建立了一個託管公司 。給我們一個盒子,給我們帶寬,給我們 的表現,我們開始工作。快速 機器,RAID-10驅動器,Tier-1 帶寬和根訪問權限。使用定製的Xen VPS後端管理 至 確保您的資源受到 的保護和保證。

對於啓動項目並將其擴展出來而無需承擔託管提供程序或colo的成本,這非常好。

2

(這顯然是很老,只是響應,因爲它仍然出現在谷歌的相關查詢真高......)

我只使用AppEngine上開始並沒有使用它噸外部請求被。但我知道上面的信息現在可能沒有那麼有效了,甚至可能不會成立。自從9月08日起 - check Aral Balkan's blog因爲他對上述以及後來的事態發展的最初抱怨而放寬了限制。