想要了解一下,有没有什么开源的解决方案可以参考一下的。
1
DoctorCat 2020-11-02 03:27:41 +08:00 2
这个问题太大了,因为涉及到很多架构设计细节。我想核心系统大体上可以拆解为:
1. LBS 服务架构实现 2. 消息推送服务架构实现 Uber 早期的架构是基于 MongoDB 做位置日志存储,通过一套 nodejs 自研的消息总线分发到移动端推送系统 参考《 Distributed Web Architectures: Curtis Chambers, Uber 》 |
2
user8341 2020-11-02 06:06:23 +08:00
|
3
opengps 2020-11-02 07:50:00 +08:00 via Android
网页版用轮训即可,app 可以用 socket
|
4
k9982874 2020-11-02 08:27:26 +08:00 via iPhone
服务器分区即可,位置服务器放在当地城市,其实要处理的推送没多少,毕竟在路上跑的车也就那么几辆。
|
8
CEBBCAT 2020-11-02 09:25:16 +08:00 via Android
不好意思啊,歪下楼
https://www.zdic.net/hans/偏激 偏激 piānjī [extreme] 思想、主张、言论等过火,有失平允 偏激 piān jī ㄆㄧㄢ ㄐㄧ 意见、主张、行为等方面过于极端。 如:「他对任何事物都存有偏激的看法。」 近过火 |
12
l0wkey 2020-11-02 10:19:45 +08:00 via iPhone
MQTT 了解一下
|
14
zocome 2020-11-02 10:34:32 +08:00
@k9982874 #6 不知道大佬你说的没多少数量是指多少?我个人的理解,这种情况下超过 10000 辆车在线以及乘客、司机超过 20000 个设备在线推送设备就不能说没多少了,就我自己接触的来说,超过 10000 并发的现实中基本上没见过几家,不知道你说的 100 万辆车这种情况下是怎么做到你说的没多少推送?
假设你说的 100 万辆车同时在路上跑,司机和乘客这样就 200 万推送了吧?还不包括别的比如说行程共享这种额外的情况?这种情况我想学习下怎么处理,希望大佬方便的话能详细说说 |
15
lsylsy2 2020-11-02 10:35:59 +08:00
|
16
ThanksSirAlex OP @DoctorCat 有个问题,既然是实时位置,那么不是应该只需要存储当前的位置即可?不用存下历史位置?
|
18
DoctorCat 2020-11-02 12:57:40 +08:00
@ThanksSirAlex 我的理解是产品需求需要在移动端的实时 map 组件中显示真实路径,所以 GPS 位置这种时序数据肯定是要存的
|
20
kop1989 2020-11-02 13:12:21 +08:00
据我观察,滴滴这种 app,地理位置推送的压力并没有很多人现象中的大(或者说是采样密度并没那么高)。
1 、gps 是有速度信息的。 2 、用户手机里的小车动画明显是根据上一个采集+速度推算出来的。 |
21
hanbing135 2020-11-02 13:47:30 +08:00 via Android
哪有实时位置 感觉都是滴滴自己算法画上去的 遇到好多次车的轨迹跟车的实际位置不一致了 感觉就是过段时间采集一下真实位置 其它时间都是算法瞎算的
|
22
garlics 2020-11-02 13:54:32 +08:00
突然想到这张图<img src="https://s1.ax1x.com/2020/11/02/BBbHlF.gif" />
|
23
takemeaway 2020-11-02 14:19:27 +08:00
笑死,一群没有实践过的人在这里高谈阔论。
1 楼猜的对了点。 实际上实时位置推送就是 GPS+消息推送,做过位置监控的都知道。 之前我们就做过间谍软件,一种是在车上放带电池的物联网设备,可监控车辆位置,一种是间谍 APP,后台监听,手机位置实时查看。 滴滴的难点在于信息多,还有路径规划麻烦。 你自己使用不需要什么解决方案,直接获取 GPS 信息,socket 推到服务器就行了。服务器再实时推给需要展示的用户。 |
24
kop1989 2020-11-02 14:21:19 +08:00
@takemeaway #23 哟,这个号放出来了?
|
25
takemeaway 2020-11-02 14:23:57 +08:00
@kop1989 不好意思,我只是忙一段时间没上而已。 你这水平不用瞎回答了
|
26
kop1989 2020-11-02 14:28:32 +08:00 2
@takemeaway #25 非要拿出实锤么😂
|
27
MinQ 2020-11-02 14:48:49 +08:00
|
28
ThanksSirAlex OP @MinQ 用户侧的客户端轮训拉取位置吗
|
29
MinQ 2020-11-02 15:39:50 +08:00
@ThanksSirAlex 对啊,用户的 app 轮询上传位置就好了
|
30
MinQ 2020-11-02 15:40:23 +08:00
@ThanksSirAlex 司机的 app 也是用户 app 啊
|
31
vcode 2020-11-05 14:07:58 +08:00
算法画的轨迹,不信你去问滴滴
|
32
TypeError 2020-12-22 19:40:12 +08:00
https://eng.uber.com/real-time-push-platform/
巧了,刚看到 uber 的文章 |