大量GPS数据需要实时显示,求解决方案

新手上路,请多包涵

现在有一个业务需求,有很多GPS实时的数据通过MQ传递过来(上万台机器的GPS数据),我需要将他们显示到页面的地图上。

本人菜鸟,希望有过类似项目经验的能给我提供一个比较好的解决方案。

我想过的解决方案:

  1. 页面通过websocket直接对MQ进行筛选,将地图显示范围上的GSP散上页面。
    问题:数据过大,效率不够高,页面压力大。
  2. java服务端将MQ获取的数据缓存在一个map里面,页面通过地图显示范围请求map里面对应的数据。
    问题:map的读写会引发线程冲突,如果加锁,效率会慢很多。
  3. java服务端将MQ获取的数据直接存入数据库,然后存入缓存,页面通过地图显示范围请求缓存数据,设置缓存的刷新频率。
    问题:不能够实时现实,得根据缓存的更新频率。

因为本项目没有好的架构师,需要本菜鸟自己解决这个问题,希望大家能帮帮我。

阅读 3.7k
1 个回答

后端过滤数据,保证一次性的数据不多。

前端用 Websocket 获取数据并更新。

这个不是前端就能解决的问题,得让后端一起配合。

要实时就先存到 redis 这类内存数据库里,一段时间后统一写入。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题