0

我正在使用 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 有一些负载平衡问题?

对于我的应用程序,拥有正确的价值很重要(这是某种垄断游戏,知道正确的访问者数量很重要......)...

4

1 回答 1

0

那是奇怪的行为!

我们在 Foursquare 使用 Mongo 作为我们的数据库技术。由于我们正在处理大量以惊人的速度传入的数据,单台机器不可能处理存储和更新我们必须存储和更新的所有数据。因此,正如您所猜测的那样,我们需要在多台机器之间分散负载。正如任何分布式系统必然会发生的那样,我们最终会遇到机器或连接故障。

幸运的是,我们这里有一个非常优秀的基础架构团队,他们专注于保持我们的数据库机器正常运行和同步,因此由不同步信息引起的任何问题肯定是暂时的和短暂的(通常写入在几毫秒内分布)。您看到的也可能不是数据库问题,而是一些用户删除了他们的帐户或他们被标记为作弊者,这两者都可能导致场地访客人数的合法统计数据减少。

不管原因是什么,最终的结果是我们的 API 机器总是会返回给你他们认为完全正确的值,你应该继续使用它,但你不应该指望这个值总是严格的增加或反映您当时创建的签到。

期待查看您的游戏!

于 2013-07-11T19:52:20.807 回答