Frage

Ich baue eine Anwendung, die Lifestreaming viele Feeds für viele Benutzer und Durchführen Data-Mining und maschinelles Lernen Algorithmen auf die Ergebnisse beinhalten wird nach unten ziehen. GAE Last ausgeglichen und skalierbare Hosting klingt wie eine gute Passform für ein System, das schließlich um eine Menge von Daten bewegen konnte, aber es ist Mangel an Cron-Jobs ist ein Ärgernis. Werde ich besser Django off mit auf einem Co-loc und den Umgang mit meiner eigenen DB-Skalierung?

War es hilfreich?

Lösung

Während ich nicht beantworten kann Ihre Frage direkt, meine Erfahrung zu bauen Microupdater (ein News-Aggregator Sammel ein paar hundert ernährt sich von App Engine) Sie können einen kleinen Einblick geben.

  • Fetching-Feeds. Fetching viele Feeds von Cron-Jobs (es war die einzige Lösung, bis SDK 1.2.5) ist nicht effizient und skalierbar, die auf Jobfrequenzuntergrenze hat (etwa 1 min, so dass Sie nur höchstens 60 speist stündlich holen konnte). Und mit dem neuesten SDK 1.2.5 gibt es XMPP-API , die ich noch nicht umgesetzt haben. Der beste vielversprechender Ansatz wäre PubSubHubbub , von denen Sie bieten eine Rückruf-URL und Hubbub benachrichtigt Sie neue Einträge in Echtzeit . Und es ist ein Demo Implementierung auf App Engine, die Sie rund um spielen können.

  • Parsing-Feeds. Sie können bereits wissen, dass Parsing-Feeds ist CPU-intensiv. Ich benutze Universal-Feed-Parser von Mark Pilgrim, wenn eine große Futter (sagen wir ein öffentliches Google Reader Thema) Parsen, App Engine kann fehlschlagen, um alle Einträge zu bearbeiten. Mein Armaturenbrett haben viele dieser CPU-Limit Warnungen. Aber es kann in meiner Unfähigkeit führt noch den Code zu optimieren.

Insgesamt sagte AppEngine noch nicht eine ideale Plattform für Lebensstrom App ist, aber das kann sich in Zukunft ändern.

Andere Tipps

Es könnte sich ändern, wenn sie bezahlt Pläne bieten, aber wie es aussieht, ist App Engine gut nicht für CPU intensive Anwendungen. Es ist so konzipiert, maßstab eine große Anzahl von Anfragen zu bearbeiten, die nicht unbedingt eine große Menge an Berechnung pro Anfrage. Ich bin mit ziemlich kleineren Berechnungen in dieses Thema laufe, und ich fürchte, ich muß möglicherweise die Suche an anderer Stelle beginnen, wie mein Datensatz wächst.

(Das ist natürlich ziemlich alt, reagierte nur, weil es immer noch sehr hoch in verwandten Google-Abfragen kommt ...)

ich mit App Engine gerade erst begonnen und haben mit ihm für Tonnen von externen Anfragen nicht. Aber ich weiß, dass die Informationen über wahrscheinlich jetzt viel weniger gültig ist, und vielleicht nicht einmal still stehen. Sie entspannt die Grenzen ziemlich viel seit 8. September - zu überprüfen, und spätere Entwicklungen.

Wenn Sie App stützt sich ausschließlich auf Django, dann ist App Engine eine gute Wette. Wenn Sie jedoch jemals C-enhanced Bibliotheken hinzufügen müssen, du bist ein Bach auf. App Engine bietet keine Unterstützung für Dinge wie PIL oder ReportLab, die C verwenden Bearbeitungszeiten zu beschleunigen. Ich bin nur dies zu erwähnen, weil Sie C verwenden möchten einige Ihrer Routinen auf lange Sicht zu beschleunigen.

Wenn Sie sich entscheiden, eine Co-loc verwenden Besuche WebFaction.com. Sie haben große Django / Python-Unterstützung und sie haben kein Problem mit Ihnen die oben genannten lirbaries verwendet wird.

Hier finden Sie aktuelle Scheibe Host- : Sie verkaufen xen basierte virtualisierte Serverinstanzen bei $ 20.00 / Monat beginnen ...

  

Wir sind genau wie Sie. Kranker der überverkauft,   underperforming, altes Hosting   Unternehmen. Wir nahmen die Sache in unsere   eigene Hände. Wir bauten ein Hosting-Unternehmen   für Menschen, die ihre Sachen kennen. Geben   eine Box mit uns, geben uns die Bandbreite, geben Sie uns   Leistung und wir bekommen zu arbeiten. Schnell   Maschinen, RAID-10-Laufwerke, Tier-1   Bandbreite und Root-Zugriff. Gelang es   mit einem angepassten Xen VPS-Backend   sicherzustellen, dass Ihre Ressourcen   geschützt und garantiert werden.

Es ist toll für ein Projekt zu starten und es, ohne zu verursachen, die Kosten eines verwalteten Provider oder colo Skalierung.

Nein. Wenn Sie unten eine Menge Dinge zu ziehen, ist App Engine geht nicht so gut zu funktionieren. Sie können es als Frontend verwenden, indem Sie Ihre Daten in ihrem Speicher setzt, nachdem Ihre Offline-Vorverarbeitung zu tun, aber man kann nicht viel tun, in der ~ 1 Sekunde Zeit, die Sie pro Anfrage haben einige, ohne dabei wirklich verrückt Dinge.

Ihre Anwendung wäre wahrscheinlich besser auf Ihrem eigenen Hosting.

Ziehen Feeds oder tun Berechnungen wird kein Problem sein. Aber Sie werden bald für Ihr Konto zu zahlen. App Engine enthält Django, außer dass Sie mit einigen Adaptern für das Modellteil zu arbeiten brauchen. Es wird sicher von der Wartung Kopfschmerzen speichern.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top