使用AppEngine的高效Web服务

时间:2012-02-23 07:53:52

标签: google-app-engine rest restful-architecture

我正在尝试将AppEngine用作RESTful Web服务。该服务应该从Datastore执行简单的查找和放置,因此Objectify似乎适合覆盖该部分。如果该部分的Datastore'. I'm using Redstone XMLRPC`中没有数据,它还会对其他服务进行一些查找。

现在,我有一些关于如何根据AppEngine配额设计服务部分的问题(我想在大多数情况下应考虑效率,但AppEngine的计费会让更多人考虑效率)。

  1. 首先让我们考虑使用简单的Servlets。在这种情况下,我看到两个选项。要么我创建了许多servlet,每个servlet提供不同的服务,Json传递给每个servlet,或者我使用单个(或更少数量)的服务,并根据与Json一起传递的参数确定要执行的操作。这两种设计对小时数有何影响,等等由AppEngine计算?

  2. 如果我使用RESTful框架(例如RestletRestEasy而不是准系统方法)会有什么成本差异?

  3. 这个问题属于跟进:Creating Java Web Service using Google AppEngine

3 个答案:

答案 0 :(得分:1)

这并不是那么重要,因为大多数成本都是针对数据存储区的,因此前端微优化并不重要。

你可以通过选择“简单的服务”来节省可能只有几美分,但......这是你的目标吗?制作良好的数据结构,在后台准备所有必需的数据,制定良好的缓存策略等更为重要。

答案 1 :(得分:1)

我同意@Igor。

但是,还有一件事要考虑:http会话。

GAE supports http sessions。由于GAE是一个分布式系统,会话存储在数据存储区中(并在Memcache中缓存以便有效读取)。会话在每个请求中都会更新(以支持到期),因此每次请求都会访问数据存储区。

REST不需要会话,应该关闭。

答案 2 :(得分:0)

我同意伊戈尔的意见,如果它可以帮助解决这个与你相关的问题,你可以找到有用的答案!

RESTful webservices on GAE