用于 GAE 和未来可扩展性的 Struts2 或 Django

Posted

技术标签:

【中文标题】用于 GAE 和未来可扩展性的 Struts2 或 Django【英文标题】:Struts2 or Django for GAE and future scalability 【发布时间】:2010-10-28 12:42:53 【问题描述】:

我正在开发基于位置的服务。仅供参考,由于时间和位置是变量,数据库将大大扩展。我正在考虑将 GAE 用于初始部署。我对任何基于 python 或 java 的开发持开放态度。在计算可扩展性时,我感到困惑。我以前从未想过可扩展性,因为我没有参与过大型项目。此外,我正在考虑这样一个事实,即我可能必须在不久的将来更改主机以获得更大的灵活性。

考虑到这种情况,我应该从什么开始? Struts2?还是姜戈?开发时间会不会有很大差异?

【问题讨论】:

【参考方案1】:

您知道已经了解 Java 或 Python 吗?如果你精通其中一个而不是另一个,你可能想使用你所知道的。如果您不熟悉两者,尤其是一般编程,我认为 Python 会更容易学习。但这是非常主观的。

GAE 对于某些应用程序来说是一个很好的平台。例如,如果您经常从移动设备(如电话)报告位置,我认为 GAE 将是一个不错的选择。但我不会使用 django 来处理此类请求;而是使用“最轻”的框架来记录数据(可能是 webapp (Python) 或 low-level datastore API (java))。

请记住在 GAE 中查询时使用 limitations。没有 JOINS,你需要去规范化。您可以一次在一个属性上使用不等式过滤器,因此对于邻近查询,您需要像GeoBoxes 这样的技术。如果您可以解决这些限制,App Engine 可以提供很多功能。

【讨论】:

非常感谢您的回复。我已经知道java和python。但我是使用 Django 和 Struts 的新手。此外,我担心将来可能将应用程序从 GAE 转移到云或专用服务器。所以,不要从一开始就走错方向:) 如果您担心 App Engine 锁定,可以选择 (***.com/questions/4039685/…)。如果你打算走 Python 路线,你可能也想考虑其他更轻的框架。如果您要在 App Engine 上运行,请确保查看 webapp (code.google.com/appengine/docs/python/tools/webapp) 和 tipfy (tipfy.org),您可能会获得更好的性能。

以上是关于用于 GAE 和未来可扩展性的 Struts2 或 Django的主要内容,如果未能解决你的问题,请参考以下文章

GAE 上的 Struts 2:无法在拦截器内设置会话值

提交的 JDO 写入不适用于本地 GAE HRD,或可能重用的事务

是否有 pytz zoneinfo 的 URL 用于 gae?

Spring Security 3 日志记录不适用于 Eclipse 中的 GAE

用于 GAE 的 GAS UI 构建器

将 GAE 可扩展性移植到开源框架中的最简单方法