我正在开发一个在GAE上托管的应用。基本上我的应用需要随机连接人。
在我为每个用户分配唯一ID之前,我做了类似的应用程序。一旦用户进入应用程序,他的ID将被插入静态同步的LinkedHashSet(其作用类似于应用程序的全局数据存储)。同样,第二个用户进入同步的LinkedHashSet,如果他找到ID以外的ID,然后连接起来。第二个用户从LinkedHashSet中删除它们的ID并将它们作为pair插入到Mysql DataBase中。注意对LinkedHashSet的访问是同步的。
现在我想在GAE这样的云环境中设计一个类似的应用程序。但是由于应用程序引擎的分布式特性,GAE静态变量不是全局的。如何在云环境中编写类似的代码?
答案 0 :(得分:1)
这个问题有多种方法。您可以很好地使用Channel API,DataStore API,Memcache API的组合来提供可扩展的实时聊天室应用程序。 这是一篇关于创建多用户聊天室应用程序的好文章 - http://codecontrol.blogspot.com/2010/12/multiuser-chatroom-with-app-engine.html, http://code.google.com/p/channel-tac-toe/
您必须使用数据存储来存储LinkedHashSet,并进一步将其缓存在内存缓存中以便更快地访问。