0

假设我必须构建一个地理定位的应用程序。将会发生的是:

  • 成千上万的用户将同时使用它

  • 当用户在城市中移动时,会将他的地理位置发送到应用程序。然后,基于该位置,应用程序将发回一系列信息,更新屏幕,甚至可能是(谷歌)地图

这么说吧,如果有 10000 个用户同时连接,都在四处走动,那么每一秒都会有很多对应用程序的请求。

我正在对要实施的最佳技术进行一些研究,我发现使用 websockets 可能是一个不错的选择。真的吗?

他们说 websockets 有利于:

  • 多人在线游戏
  • 聊天应用
  • 现场体育报价
  • 实时更新社交流

它们也适合我想要构建的应用类型吗?

4

1 回答 1

1

WebSockets 只是传输协议,并不能真正解决您在开发应用程序时将面临的挑战。

首先,您需要确定您是构建 Web 应用程序还是原生应用程序。

然后,您需要在并发连接以及准备响应方面考虑基础架构的可扩展性 - 基于附近的位置(例如)。

您需要首先回答的几个主要问题:

  1. 地理数据的发送频率。
  2. 其他位置的更新应该多久在客户端更新一次
  3. 你将如何防止作弊:如果我在完全不同的地方发送机场的地理位置(例如)。
  4. 在服务器端,您将如何存储位置数据(mongodb 具有开箱即用的 2d 索引)。
  5. 您将如何找到最近的点、识别它们并发送给客户?
  6. 搜索附近的地方 - 是一项昂贵的任务,并且需要大量优化,如空间聚类、二维索引等。
于 2013-09-11T14:44:04.483 回答