首页 > 解决方案 > 哪个更适合我的位置流式传输场景?AWS Kinesis、SQS 还是其他?

问题描述

我们正在为我们的卡车车队管理 Web 应用程序设计一个位置流解决方案,其中我们的 Android 和 iOS 应用程序为司机将每 15 秒左右向 AWS 的后端发送位置更新(纬度、经度、时间戳和车辆 ID)。RESTful 移动后端(基于 .Net WebAPI)托管在 beanstalk 中。后台 Web 应用程序(基于 ASP.Net 并托管在 beanstalk 中)将允许实时查看卡车及其在地图中的位置。

当 Web 应用程序用户首次启动地图屏幕时,需要根据最近的位置更新加载位于可见地图区域内的卡车位置指示器,然后根据传入的位置更新实时更改其位置,可见的地图区域。

所以我设想的设置类似于

Mobile App (AWS SDK) --(Location Updates)--> AWS Kinesis --> ? --> Web App

这需要扩展到大约 5000 辆卡车。我一直在互联网上阅读相互矛盾的文章,即对于 pub/sub,SQS 比 Kinesis 更适合,但从长远来看,SQS 的成本可能比 Kinesis 高得多。例如这个

我也接受了使用 Redis pub/sub 的想法。我还确定仅 pub/sub 无法完成这项工作,因为我们可能需要查询地图中提供的有界矩形内的最新不同卡车位置(初始加载场景)。

  1. Kinesis 是正确的选择吗?如果不是什么更好?(成本对我们来说是个大问题)?
  2. 对于 1 中提出的解决方案,将位置更新推送/拉入 Web 应用程序的最佳方式是什么?(以上流程用问号表示)
  3. 我想跳过通过 beanstalk 发送位置数据并将其直接发送到 Kinesis(或 1 中提出的解决方案)以最小化成本。这会是一个可行的解决方案吗?

先感谢您。

标签: geolocationpublish-subscribeamazon-sqsamazon-kinesisstream-processing

解决方案


推荐阅读