首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LaughingCat
V2EX  ›  程序员

数据同步的需求实现

  •  
  •   LaughingCat · 135 天前 · 910 次点击
    这是一个创建于 135 天前的主题,其中的信息可能已经有所发展或是发生改变。

    pc 端可以维护基础数据,如果基础数据发生变化,需要通过消息的方式提示安卓调用数据同步接口,请问有什么好的解决方案

    6 回复  |  直到 2019-09-10 22:38:26 +08:00
    guxingke
        1
    guxingke   135 天前
    1. 轮询, 实时性要求不高的情况下, 可以考虑 APP 每分钟进行数据同步.
    2. 消息通知
    - websocket 长连接.
    - 第三方 push 消息透传
    - 第三方 IM 自定义消息.
    HansCathy
        2
    HansCathy   135 天前
    PC 端数据变化 写入消息队列( kafka 等),安卓端消费 kafka 数据,更新基础数据
    楼主说的那种 耦合对太高了,PC 端数据变化 还要通知安卓端,安卓端再调用 PC 端接口去同步
    LaughingCat
        3
    LaughingCat   135 天前
    轮休调用的方法不太 ok,因为基础数据的数据量在很大的情况下,这种频繁的调用太慢,而且很多时候没意义。我的想法是 将基础数据报错到 redis 缓存中,一旦有基础数据改动就修改缓存中的值。安卓通过长连的方式与 redis 进行“长连”不知道这种方式对不对。
    wengang285
        4
    wengang285   135 天前
    @LaughingCat PC 端的数据,是你自己更新还是别的系统?如果是自己的系统,那么更改完之后,通知 andoird 来拉取就可以了,如果不是别的系统更新,那就比较麻烦了
    cshlxm
        5
    cshlxm   135 天前
    数据变动推送一条消息到 mq,推送系统消费 mq 里的消息,给安卓推送一条消息,后台服务接收推送消息,进行数据处理,如果是前端,就是 websocket~ 维持长连接,不过不太可靠,应该有 livequery 之类组件~
    opengps
        6
    opengps   135 天前
    消息通知,我每次回复都是这句话:要么客户端轮训,要么长连接推送。
    还写了文章用来粘贴: https://www.opengps.cn/Blog/View.aspx?id=427
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   976 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 22ms · UTC 17:56 · PVG 01:56 · LAX 09:56 · JFK 12:56
    ♥ Do have faith in what you're doing.