0

我正在开发一个基于 Springs MVC 和带有 Objectify 的 Google App Engine 的项目。

这个应用程序的主要功能是:如果有人向数据存储区发布了新内容,那么它应该会自动发布到它所连接的浏览器,而无需刷新页面内容。基本上它是一个类似网站的新闻。发送到浏览器的数据是基于 REST API 的 JSON 数据。

为了实现这个功能,我想到了使用以下方法:

  1. AJAX:我想过每 2-3 分钟使用一次 AJAX 调用来更新。但是这个解决方案似乎不可行,因为来自许多浏览器的许多 AJAX 调用导致许多数据存储读取操作。

  2. Web Socket:这个概念对我来说很新。我不知道这件事。一些pusher.com使用此技术建立此类连接。

现在我需要你的建议,使用上面两个中的哪一个,或者我也对其他解决方案持开放态度。

4

1 回答 1

0

Google 应用引擎不支持 Web 套接字,但它支持类似的东西,称为通道 api,它也适用于旧版浏览器。这可能不可行,具体取决于您将连接多少人(每 100 个频道收费 1 美分)。频道也有一些注意事项:https ://developers.google.com/appengine/docs/python/channel/overview#Caveats

至于使用 Ajax - 如果您将响应缓存在 memcache 中并每 3 分钟刷新一次密钥,那么除非启动新实例或密钥过期,否则您将不会进行任何数据存储读取。

于 2013-02-18T10:10:15.063 回答