我构建了一个社交Android应用程序,用户可以通过gps位置查看身边的其他用户。开始的时候我的用户数量很少,但是现在我的用户数量在不断增加(每天大约有1500 + 100),所以我在设计中发现了一个主要问题。如何在服务器端管理大量用户?
在我的Google App Engine servlet中,我拥有静态HashMap,它包含所有用户配置文件对象,currenty 1500,随着更多用户注册,此数字将增加。
为什么我做它
每个用户是请求他周围的用户自己的GPS与其他用户进行比较,并检查它们是否在其半径10公里,出现这种情况,平均每5分钟。 这就是为什么我无法每次从db获取用户,因为GAE读/写操作配额会让我分开。
这个DESGIN的问题是
随着用户数量的增加HashMap的转向空每4-6小时,我的事情,这个时间也越来越短,但我不知道。 我正在通过重新加载数据库中的用户来解决这个问题,每次我检测到它变成了空的时候,但是这会导致DOS给我的用户30秒,所以我在寻找更好的解决方案。
我猜这是因为hashmap的大小,我是对不对?
我想知道如何管理全部用户配置文件与最大aviablity。
谢谢。
“*随着用户数量的增加,Hashmap每4-6小时会变为空值*” - 您能澄清一下这部分吗?这个'null'是什么意思?谁清除了“HashMap”? –