eggt
V2EX  ›  问与答

apple 图书不同设备之间阅读记录的同步策略和周期是什么?

  •  
  •   eggt · Dec 29, 2022 · 1570 views
    This topic created in 1238 days ago, the information mentioned may be changed or developed.
    mac 上使用 Apple 的图书 app 阅读,并且添加了书签,再回到 iPhone 上去看,记录和书签并没同步。今天打开 iPhone 上突然看到同步了,距离过去快 10 天了。不太懂这个同步策略是啥,有人清楚吗? 2 个设备我登录的是同一个 AppleID
    7 replies    2022-12-29 09:45:48 +08:00
    hcsu
        1
    hcsu  
       Dec 29, 2022 via iPhone
    借楼问个题外话,似乎 Apple Books 没有 Kindle 的书全?(日区,找某一本英语书)
    tsubasa2017
        2
    tsubasa2017  
       Dec 29, 2022
    @hcsu 日区据我观察确实书要比 Kindle 少(应该是按出版社来的)而且价格也普遍更贵
    另外 Apple Books 解 DRM 没有 Kindle 来的简单
    Lin0936
        3
    Lin0936  
       Dec 29, 2022
    用这么多年下来我感觉就一个策略:随缘
    hcsu
        4
    hcsu  
       Dec 29, 2022 via iPhone
    @lyl2016 #2 谢谢老哥,看来想把书都放在一起还有点难 😢(不考虑 d 版)
    wy315700
        5
    wy315700  
       Dec 29, 2022
    缘分
    eggt
        6
    eggt  
    OP
       Dec 29, 2022
    又是玄学吗😂
    nothingistrue
        7
    nothingistrue  
       Dec 29, 2022   ❤️ 1
    这玩意,只有内部技术人员才能给出真正的回复。

    这种同步,通常来说都是一端发布变更事件(消息),多端消费的方式,需要消息中间件支持上述模式。同步周期,取决于消费端的消费周期。消费的时候,拉取方式跟推送方式都可行,纯推送方式很难处理消费乱序问题,纯拉取方式对消息中间件有极大的性能冲击。这里更可能采取的是推送加拉取混合模式,主处理仍然是拉取,但拉取间隔不是定时轮询,而是仅在接受到远端的推送的时候再去拉取。简单得说,就是推送但只推送“有新内容”而不推送具体的内容,然后由被推送端再主动拉取新内容。如果是这个模式,那么同步策略就是推送。

    但是,推送,并不是完全实时的,它要收到客户端的网络环境的影响。理想情况下,客户端永远跟服务器端连接着,那就是实时推送。但实际情况下,推送的间隔完全是不可控的,因为客户端并不会永远跟服务器连接着。Apple 以及标准 Android 推送,为了照顾电池,手机跟推送服务器的连接,不会无脑断开就重连,而是会根据手机电池、网络情况、心跳间隔等自动判断是否要重连,意味着你的手机有可能跟推送服务器断开连接很长时间后手机仍然不去重连。这个间隔不可控,但通常也不会超过半个小时。你这个超过 10 天的情况,应该是应用的 BUG ,或者消息中间件挂了。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   4728 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 40ms · UTC 04:00 · PVG 12:00 · LAX 21:00 · JFK 00:00
    ♥ Do have faith in what you're doing.