【问题标题】:Backend structure suggestion for real time update application (Firebase)实时更新应用的后端结构建议(Firebase)
【发布时间】:2017-12-02 11:43:26
【问题描述】:

我正在尝试开发一款与 Uber 有类似想法的移动应用,它可以实时更新司机和客户位置。因此,我在这里寻求有关我对应用程序结构的想法的建议。

就我的研究而言,为了提供快速的实时更新位置,我可能需要使用 Firebase 等实时数据库作为后端。所以,我想结合两种不同类型的数据库来实现我的想法......

Firebase - 实时快速更新用户位置 MySQL - 用于后端 api 业务逻辑

不过本人对firebase没有经验,希望大家多多指教。我计划只将用户位置坐标信息存储在 firebase 数据库中,然后从移动应用程序中检索它以实时更新。

我的问题是我不确定我是否应该将这些驱动程序坐标数据永久保存在 firebase 数据库中?由于坐标数据在firebase中不断变化更新,所以我应该在驱动程序到达目的地后立即从firebase中删除这些坐标数据。 (无需保留这些数据,只需实时数据在 Firebase 上保持更改)

感谢阅读这么长的问题,如果我在我的应用程序中使用 2 个不同的数据库,如果大家能提醒我任何其他问题,我也会很高兴。

【问题讨论】:

    标签: java android mysql firebase firebase-realtime-database


    【解决方案1】:

    您通常会在 Firebase 中保留一份驱动程序列表及其位置:

    driverlocations
      driver1id: location
      driver2id: location
    

    这意味着您不是添加新数据,而是更新现有数据。因此,您不必担心列表会不断增长。

    为确保您没有关闭应用程序/停止驾驶的司机的过时数据,您可以use Firebase's onDisconnect() handlers to remove the data when they disconnect

    现在查询附近司机的这些数据仍然很棘手。为此,您需要查看 GeoFire。我最近解释了为什么需要这样做以及它是如何工作的:Sort array by distance near user location from firebase

    【讨论】:

    • 您好,感谢您的建议!您的知识清除了我的疑问^^我一定会查看您提供的链接。我知道这不是一件容易的事,但我一直喜欢学习,希望我能理解它是如何工作的......
    猜你喜欢
    • 2013-11-19
    • 1970-01-01
    • 2018-04-21
    • 2020-06-20
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多