我应该为我的项目使用哪种网络解决方案?

时间:2010-05-03 11:38:37

标签: google-app-engine frameworks

我要和朋友一起创建一个相当大的(从我的观点来看)web项目。我们将创建一个包含道路和其他道路相关信息的站点。

我们的计算是我们的数据库中将有大约10万件物品。每个项目将包含一些信息,如位置,名称等(每个约30件事)。我们指望每月有数十万的独立访问者。

100k项目及其位置(可搜索)将成为页面的主要部分,但我们也会有一些文章,评论,新闻以及稍后的一些社交功能(帐户,论坛,图片上传等)。 )。

我们将使用Google AppEngine来开发我们的项目,因为它实际上是可扩展且免费的(至少在一段时间内)。但我实际上开始怀疑AppEngine是否适合我们。它似乎适用于webbapps,而不是像我们这样的网站。

你们建议我们使用哪种系统(语言/框架等)?如果我们之前知道语言(我们喜欢学习新东西),它并不会真正重要,但如果它是未来证明的话会很好。

3 个答案:

答案 0 :(得分:2)

我认为GAE可以胜任这项工作。 Google声称Google App Engine可以免费处理500万访客,只有当您超过其免费配额时才需要开始付款。

入门也很容易。如果您没有管理网站和选择常规托管服务的经验,则必须担心several things that you don't even imagine now

我唯一关心的是您需要做的数据和查询类型,因为它没有关系数据库。无论如何,有一个GAE的开源项目,称为GeoModel,它使GAE能够进行复杂的地理空间查询,例如近距离搜索。看看他们的tutorialdemo app

关于您对GAE仅适用于小型网络应用的印象,有几个CMS that run on it

祝你好运!

答案 1 :(得分:0)

如果您的担忧一度是可扩展性,并且您不想依赖昂贵的商业工具,我建议您先看看这个技术堆栈:

  1. Erlang - 为并发和分发而设计的编程语言。
  2. Nitrogen - 一个包含很多很酷内容的Erlang Web框架,比如透明的AJAX。
  3. NoSQL可扩展数据库,例如CouchDBRiak - 节省了SQL代码的麻烦,并且比普通MySQL更具可扩展性。两者都有直接的原生Erlang API。
  4. 说实话,我不知道这套工具是不是你的一杯茶;这些不是主流解决方案。我向所有询问尺寸敏感的Web应用程序的人建议这些。

答案 2 :(得分:0)

所有严肃的网络框架都将为您提供所需的信息。真正的问题(例如可伸缩性)可能会以不同的方式解决,具体取决于您使用的内容,但如果您选择一个众所周知的问题,则不会受到限制。对于那些(sql vs nosql),数据库系统的选择可能更重要,即使这两者都可以做得很好。

一切都是关于

  1. 知道如何使用
  2. 享受使用
  3. 您选择的工具。

    在任何一种情况下,都会提出一些建议:

    • Rails(Ruby)
    • Django(Python)
    • 氮(Erlang)
    • ASP.NET MVC(C#)

    请注意,如果你真的想从底层学习所有东西,你可以对这些中的任何一个(或者其中一个非常好的)中的任何一个都很好。但是如果你想要发挥最好,选择一个支持你熟悉的语言或者使用你有经验的技巧/工具等。请三思而后行。这很有趣,我们学到了很多东西反对我们希望提高工作效率并做得很好