plagps
V2EX  ›  Android

#安卓开发#关于位置共享的实现

By plagps at 2019 年 10 月 5 日 · 15748 次点击
近期想为 app 加上位置共享的功能,具体的功能设想是,当前设备通过扫码加入到指定的位置共享群中,然后可将群内所有人的位置实时的显示在地图上。
具体是创建者请求服务器创建一个位置共享群( post 或者 get ),服务器返回一个唯一的群 ID,而后其它用户通过该 ID,加入到群中,而后启动 TimerTask ,隔 5 秒钟(实时性不高),向服务器发送自己的位置信息( post ),服务器返回(json)组内其它成员的位置信息,以此循环。
APP 日活用户不多,只有 3000 左右,所以感觉压力不大,计划用阿里云,1 核 1G 2M 带宽
后端 spring mvc +sqlite
所有请求都是走 http
请问各位大佬该套方案有什么不妥没,或者大家有更好的实现方式,求赐教!
16 条回复  •  2019-10-06 14:31:51 +08:00
opengps
   1
opengps  
   2019 年 10 月 5 日 via Android   ❤️ 1
3000 不是同时在线,峰值按照 100 估算没有什么不妥,很容易实现,注意用好缓存,每秒写入 100 的量在硬盘上很难,在内存里很轻松,我有用网页的 h5 有过一个 demo,地址 https://www.opengps.cn/Share/ShareLocation/Index.aspx?f=v
laminux29
   2
laminux29  
   2019 年 10 月 6 日
不要感觉压力大不大,要进行计算压力大不大。包括内存与带宽。
also24
   3
also24  
   2019 年 10 月 6 日
如果用户量更大一点,也许会选择直接搞个 mqtt,然后订阅指定 topic,还可以顺便用遗嘱功能做 “最后定位”
wolegequ
   4
wolegequ  
   2019 年 10 月 6 日 via Android
好奇应用场景
plagps
   5
plagps  
OP
   2019 年 10 月 6 日
@wolegequ 这个场景很常见 位置共享嘛。。。
plagps
   6
plagps  
OP
   2019 年 10 月 6 日
@laminux29 不知道怎么算。。
plagps
   7
plagps  
OP
   2019 年 10 月 6 日
@opengps 谢谢老哥 你的网站流量大不大?
qilishasha
   8
qilishasha  
   2019 年 10 月 6 日 via iPhone
现在搞传销都用上钉钉了,人脸识别打卡实时位置,结果精准“文明返乡”
starsriver
   9
starsriver  
   2019 年 10 月 6 日 via Android
我觉得流量不算什么,除了把静态缓存以外的数据传输几百个字节。

这么点计算量根本不是问题,又不是密集型计算。就算是一千个人,五秒刷新一次,也才几十 k 流量。
starsriver
   10
starsriver  
   2019 年 10 月 6 日 via Android
话说,我一个工控机和阿里云双核差不多的配置,做种经常几千个连接,cpu 使用率才 7%左右。
opengps
   11
opengps  
   2019 年 10 月 6 日 via Android
@plagps 还行吧,每天 1000ip
@starsriver 上传不用考虑 2M 的服务端出带宽。工控机属于物理机,而且很多是 SSD 硬盘,单机性能其实远超阿里云同配置。
plagps
   12
plagps  
OP
   2019 年 10 月 6 日
@opengps 兄弟 咋联系你
opengps
   13
opengps  
   2019 年 10 月 6 日 via Android
@plagps 微信 id 同 v2 id
twoyuan
   14
twoyuan  
   2019 年 10 月 6 日
app 那里没必要用 TimerTask 吧?定位位置变化应该都会有回调的
richard1122
   15
richard1122  
   2019 年 10 月 6 日 via iPhone   ❤️ 1
协议的话推荐 stomp over websocket,spring boot 自带集成了,前段时间用过很方便,并且将上报数据跟接收数据分开,不需要固定的一来一回。

数据可以先用 redis 存取
plagps
   16
plagps  
OP
   2019 年 10 月 6 日
@richard1122 谢谢
© 2026 V2EX · 39ms · 3.9.8.5