我计划通过 nodejs 服务器上的 websocket 存储和更新用户位置(lat、lon、userid)。我的目标是尽快将用户位置广播给每个用户。 (比如app中每辆出租车的mytaxi位置)
我的担忧/问题
- 许多同时用户的服务器端性能
- 推回数据(我只需要知道我所在地区的用户)-> 2d 搜索(获取用户在边界框中的纬度/经度)
问题:
- 什么是最好的存储解决方案(mongodb vs js 数组/对象存储)
- 数据库上的读/写比数组搜索快吗?
- 有 2d 优化的 javascript 搜索解决方案吗?
我的方式
我会选择两个数组(arr1 按 lat 排序,arr2 按 lon 排序)-> 通过分而治之搜索-> 检查相似的 ids-> 输出
有一个更好的方法吗?
提前致谢
亚历克斯