2010-11-24 13 views
19

Ich versuche, eine meiner Java-Anwendungen in GAE zu implementieren, und ich habe MongoDB verwendet. Leider erlaubt mir GAE nicht das Erstellen von Datenbanken, es wird jedoch vorgeschlagen, Google Datastore zu verwenden. Gibt es Plugins oder Add-ons, um MongoDB zu verwenden?Jeder versucht MongoDB auf Google App Engine?

+0

Vielleicht kann das helfen? https://github.com/mungo-appengine/ungo – xybrek

Antwort

6

Matt ist richtig. Wenn Sie auf den Servern von Google bereitstellen möchten, können Sie Mongo nicht verwenden. Wenn Sie Interesse daran haben, Ihre eigenen Server zu betreiben, schauen Sie sich AppScale an.

+0

Cloud Foundry ist eine weitere Cloud-Plattform mit MongoDB-Unterstützung: http://www.mongodb.org/display/DOCS/VMware+CloudFoundry –

+0

Eine vollständigere Antwort wäre, dass Google vorschlagen: "Es gibt mehrere Möglichkeiten zum Erstellen einer neuen MongoDB Zum Beispiel: * Erstellen Sie eine Google Compute Engine-Virtual Machine mit vorinstalliertem MongoDB. * Verwenden Sie mLab, um eine kostenlose MongoDB-Bereitstellung auf der Google Cloud Platform zu erstellen. " https://cloud.google.com/nodejs/resources/databases/mongodb So können Sie Ihre App in GAE und Ihrem mongodb auf GCA oder einer ihrer verwalteten Lösungen ausführen: https://cloud.google.com/nodejs/getting-started/using-structured-data Muss nur im selben Projekt sein, damit sie die gleiche interne IP/Netzwerk teilen. –

17

Sie können MongoDB auf GAE nicht ausführen. Sie müssen den Google-Datenspeicher verwenden.

+2

Ich dachte, dass dies war, weil GAE Ihnen nicht erlauben wird, HTTP-Anrufe zu machen, aber offensichtlich können Sie das Modul 'requests' verwenden. Warum funktioniert das nicht? – brandones

6

Wenn Sie wirklich sowieso MongoDB verwenden möchten, müssen Sie ein Drittanbieter-Host finden müssen, die eine REST-Schnittstelle, über die liefert Ihnen Ihre Transaktionen machen. Ich habe persönlich versucht und empfehle MongoLab auf App Engine. Verwenden Sie dann in Ihrem Code ein Objekt HttpUrlConnection, um Anforderungen zu senden/zu empfangen, wenn Sie es mit Java tun.

+0

Wie war die Leistung von GAE, die mit Mongolab verbunden ist (von dem ich annehme, dass es auf AWS lief)? – ohadpr

+0

@Matt: Können Sie bitte einige Details über die Vorteile teilen? – SlowAndSteady

+0

^Ich tat es für ein sehr kleines Nebenprojekt, um MongoDB zu erkunden. Ich habe keine Benchmarks gemacht. –

3

Ich denke, Sie könnten Ihre Anwendung auf App-Engine bereitstellen und erstellen Sie eine separate VM-Instanz in Google-Computer-Engine, die Mongo installiert hätte, dann stecken Sie Ihre GAE-Anwendung auf dieser VM für die DB-Verbindung. Dadurch können Sie alle Ihre App in der Google Cloud behalten. Siehe https://cloud.google.com/solutions/mongodb/ und

0

Sie können Mongo verwenden, nur wenn etwas wie auf Mongolab dann verwenden Sie Pymongo zu verbinden und das Wichtigste, was Sie Socket API von Gae Dashboard aktivieren müssen. es funktionierte für mich dank