How to simulate a feed in Google App Engine

We want to implement a "News Channel", where the user can see the messages transmitted by her friends, first figured out the latest message. But the feed must reflect the changes in your friends list . (If she adds new friends, messages from them should be included in the feed, and if she removes friends, their messages should not be included.) If we use the pubsub-test example and attach a list of recipients to each message, this means a lot of manipulation of the message recipient lists when users plug and unplug friends.

First, we modeled the fan-out subscription using normal thinking DBMS. At first it worked, but then, since the IN statement works the way it happens, we quickly realized that we could not continue this path. We found Brett Slatkin’s Presentation over the last years of Google I / O , and we have watched it several times now, but it’s not clear to us how to do this with “dynamic” recipient lists.

We need some tips on how to “think” when modeling this.

+6
python google-app-engine google-cloud-datastore social-networking
source share
1 answer

Paste the answer I received for this question into the Google Group for the Google App Engine http://groups.google.com/group/google-appengine/browse_thread/thread/09a05c5f41163b4d# Posted by Ikai L (Google)

A few thoughts here:

  • removes friends a common event? similarly, friends add a common event? (All relatives, regarding the "reading" of the news channel)

  • From what I remember, the only way to make a heavy reading scale is to write data several times in people's lives, streams. Twitter does this, from which I remember using the "finally consistent" model. This is why the feed will not be updated for several minutes when they are under heavy load. However, the general consensus is that a relational, normalized model simply will not work.

  • Jaiku's engine is open source for your research: http://code.google.com/p/jaikuengine . It works on App Engine Hope these help when you are considering design.
+3
source share

All Articles