【发布时间】:2015-04-11 18:03:40
【问题描述】:
过去几周我在 Google App Engine (GAE) 和 Google Compute Engine (GCE) 的各个方面都在攀爬,所以我觉得我对这两个相关但不同的平台有相当的了解。但我被困住了,想确保我朝着正确的方向前进。
我正在创建一个客户数量有限的小型私人企业网站。我们说的是 20 个并发用户。
所以这个问题可能更多的是架构而不是技术。
由于架构的灵活性,我想尝试使用 MongoDB,所以这就是我卡住的地方。
我最初的尝试是通过以下方式进行连接:
选项 1:
GAE (Java) --> MongoDB Java 驱动程序 --> GCE (MongoDB)
这是完全失败的,因为 GAE 沙箱不允许这样做。
选项 2:
GAE (Java) --> RESTFul MongoDB 调用 --> GCE(MongoDB / Restful 前端)
我还没有完全探索这一点,但这看起来很有希望,但我真的不想使用 RESTful 连接到我的数据库
这让我知道我要去哪里。
选项 3:
GCE (Java/Tomcat) --> MongoDB 驱动程序 --> GCE (MongoDB)
放弃 GAE 并在 GCE 中全力以赴:|
我希望得到一些反馈。以下是我在研究此问题时大量引用的其他 stackoverflow 答案:
- 老问题,但其中一些回复更新且有用, 特别来自用户@eloone,但仍不清楚,管道如何 会工作
- 下面两个说的基本一样,都是“NO”,所以 这把我推到了选项 #2 或选项 #3
我的具体问题:
- 既然我不需要扩展,我真的需要 GAE 吗? (只是想快点......和懒惰:D)
- 放弃 GAE 会放弃什么?我使用它是因为它看起来简单快捷,(只要你使用 mysql)
不用说,这是我在 stackoverflow 上的第一个问题,我每天都在阅读,所以如果这个问题看起来不合情理,那就太好了。我想如果我在挣扎,可能还有很多其他人也在挣扎。 :D
答案摘要: 提出了3个非常好的答案:
- 用户 Google 数据存储区(我误解了这是什么)
- 使用新的(ish)Java 托管虚拟机
- 只需使用 GCE VM 并做我想做的事。
我研究了所有这些,并决定对我来说 #1 是目前最好的选择,因为它是阻力最小的路径,但我将敞开大门,转向 #2 或 #3如果需要,未来。
谢谢大家。我会将有关使用 GCE 的回复标记为已接受的答案,因为即使我朝不同的方向走,它也确实回答了这个问题。
【问题讨论】:
-
为什么不直接使用数据存储?
-
我的印象(不正确?)数据存储仅连接到 Google 提供的 mysql 数据库。我是不是误解了这个平台的那些部分? (打开谷歌......)
-
Datastore 是 Google 的专有数据库,可以在 GAE 中开箱即用,与 mySQL 或 mongoDB 无关。
-
我认为您的选项 1 应该可以使用 Java Managed VM,但您也应该查看 Datastore,因为它是无模式的。
标签: mongodb google-app-engine google-compute-engine