在Cloud Endpoints(谷歌应用引擎)中使用光标创建类似api方法的提要



objectify中创建Api方法的方法是什么,该方法列出了您关注的人的所有最新帖子?

假设您有Profile个写入Post实体的实体。每个Post都有一个Profile作为其父级。每个Profile都有一个它后面的其他Profile键的列表。

如何创建一个查询(使用光标),按日期降序排列列出我的关注者的所有Post

为了能够做到这一点,我是否应该以与我上面描述的不同方式构建我的模型?我以为我可以这样做,但我从那篇帖子中了解到 Objectify 有一些局限性。其中之一是您不能在IN过滤器上使用cursor。这里的文档还说:

如果此查询仅限于类,则可以筛选 id 属性 并且该实体没有@Parent。如果您在工作时遇到困难 围绕此限制,请咨询 Objectify-AppEngine Google 群。

objectify-appengine 谷歌组不是很活跃......

构建源有两种常规方法:分散-聚集或预索引。他们每个人都有自己的权衡。

分散-聚集通常是最容易开始的,尤其是当您可以在数据库中执行联接时。而且它非常灵活 - 更改代码,每个人都会立即看到结果。但是,这种可伸缩性受到严重限制,尤其是当您的用户通常关注大量其他用户时。正如您已经注意到的,它是 GAE 中的 PITA,因为没有连接(IN 只允许您指定几十个项目)。确定在显示时向用户显示的内容是昂贵的。

Preindex(或"收件箱")基本上是说,在创建内容时选择谁可以看到一段内容,并将其添加到索引中。好消息是,显示快速且简单(简单的索引行走)。坏消息是,对关注列表的更改不会自动追溯。不过,如果你想要可扩展性,这几乎是你唯一的选择。

Tumblr从分散收集切换到收件箱("仪表板索引"): http://highscalability.com/blog/2012/2/13/tumblr-architecture-15-billion-page-views-a-month-and-harder.html

在 2009 年的一次老式但不错的 Google I/O 演讲中,Brett Slatkin 谈到了如何在 GAE 上构建类似收件箱的百万用户扇出:https://www.youtube.com/watch?v=AgaL6NGpkB8

旁注:Objectify google小组相当安静,因为大多数问题现在都是在stackoverflow上提出的(无论好坏)。此外,您正在查看时版本的 Objectify 的非常旧的文档。当前文档在这里: https://github.com/objectify/objectify/wiki

最新更新