I'm writing a game app on GAE with GWT/Java and am having a issues with server-side persistent data. Players are polling using RPC for active games and game states, all being stores on the server. Sometimes client polling fails to find game instances that I know should exist. This only happens when I deploy to google appspot, locally everything is fine.
I understand this could be to do with how appspot is a clouded service and that it can spawn and use a new instance of my servlet at any point, and the existing data is not persisting between instances.
Single games only last a minute or two and data will change rapidly, (multiple times a second) so what is the best way to ensure that RPC calls to different instances will use the same server-side data?
I have had a look at the DataStore API and it seems to be database like storage which i'm guessing will be way too slow for what I need. Also Memcache can be flushed at any point so that's not useful.
What am I missing here? Could someone tell if the datastore is the way to go or if there is another way, thanks.
(nb. cross posted here: http://stackoverflow.com/questions/10620315/gae-gwt-server-side-data-inconsistent-not-persisting-between-instances)