我正在使用Foursquare API处理Android应用。要测试我使用APIGEE控制台(http://www.apigee.com)。现在我注意到STATS / CHECKINSCOUNT的返回值有一些奇怪的行为。
例如此场地通话: https://api.foursquare.com/v2/venues/4bdaaddcffafd13a6b109b85?v=20120321
有时我会被退回
"stats": {
"checkinsCount": 8246,
"usersCount": 2998,
"tipCount": 12
当我再次呼叫api时,我有时会得到
"stats": {
"checkinsCount": 8214,
"usersCount": 2990,
"tipCount": 11
之前有人注意到了吗?
在我看来,Foursquare有一些负载平衡问题?对于我的应用程序,拥有正确的价值非常重要(这是一种垄断游戏,了解正确的游客人数非常重要......)......
答案 0 :(得分:0)
这是一种奇怪的行为!
我们在Foursquare使用Mongo作为我们的数据库技术。由于我们以惊人的速度处理大量和大量数据,因此单个机器无法处理存储和更新我们必须存储和更新的所有数据。因此,正如您所猜测的那样,我们需要在多台机器之间分配负载。正如任何分布式系统一样,我们最终会遇到机器或连接故障。
幸运的是,我们这里有一个really excellent infrastructure team,专注于保持数据库机器的运行和同步,因此由不同步的信息引起的任何问题肯定是短暂的和短暂的(通常写入分布在毫秒)。您所看到的也可能不是数据库问题,而是某些用户删除了他们的帐户或者他们被标记为骗子,这两者都可能导致会场访客数量的合法统计数据减少。
无论原因是什么,最终结果是我们的API机器将始终向您返回他们认为正确值的正确值,您应该继续使用它,但您不应该依赖于它始终严格增加或反映您在那个时刻创建的登记入住。
期待看看你的游戏!