Speculative Search + channel API might be a really nice / cool solution. It would more-or-less handle a lot of the routing for you.
If you want users to be able to view / page through old 'chat logs' then, as you mentioned, you'll need to store them. How fast do you expect to receive messages for a given channel, how large are the messages expected to be on average, and how much history do you want to keep for users to view? If messages will typically arrive less than one per 1/2 second or so, option (1) or (3) might work really nicely. If messages are small and you only need, say, the last 100 messages your first option might work very well. Keep in mind, if you will not be querying the list property, you can serialize and store you data significantly more efficiently in a text or blob property. Obviously storing each message in its own entity makes writes simple, but means you need a query to send messages to users instead of a fetch by key. If your write rate to a channel is low enough, I suspect option (1) or (3) will make reads extremely fast. If the write rate is high the second option might be your best choice, or some combination approach (ie write new messages to their own entities and run a background task to batch up new messages and update the 'channel' entities). Just a few thoughts. Robert On Wed, Feb 23, 2011 at 09:34, Barry Hunter <[email protected]> wrote: > On 23 February 2011 14:20, Joonas Pihlajamaa > <[email protected]> wrote: >> Thank you for the _very_ useful and informative reply. :) >> >>> AppEngine actully has XMPP >>> intergtationhttp://code.google.com/appengine/docs/python/xmpp/ >> >> Yes, but from I can gather, I would need to run an XMPP server >> somewhere to handle the chats (or find a free provider X), > > Google Talk :) > > http://www.google.com/support/talk/bin/answer.py?hl=en&answer=57677 > > (I beleive XMPP and the channel API already use the Talk infestructure > under the hood anyway) > > >> (Don't think I should apply for testing when I only have a few concurrent >> users at most :) > > Testing in a few users, is still worthwhile. Get it working on a few, > and it should work for more. > > You might not even need to apply now. Speculative Search should be > near ready for launch (it didnt make the latest SDK release tho) > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > > -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
