V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
fkbd
V2EX  ›  问与答

大家有什么方案解决远程数据库丢包的问题吗?远程是数据库是 mysql,坐标在硅谷,放程序的服务器在香港。

  •  
  •   fkbd · 2016-08-26 01:02:03 +08:00 · 3409 次点击
    这是一个创建于 3018 天前的主题,其中的信息可能已经有所发展或是发生改变。
    前提是: APP 需要每 15s 与数据库进行一次数据交换。服务器坐标和数据库坐标是定死的。

    一开始是直接链接远程数据库,可是丢包太大,测试中导致数据丢失很多。
    然而我的想法是,把数据库同步到香港。可是远程数据库太大了,不得不放弃这个方案。

    所以一下子想不到合适的方案出来,跑出来请教一下大家。
    16 条回复    2016-08-26 10:49:57 +08:00
    UnisandK
        1
    UnisandK  
       2016-08-26 01:18:22 +08:00   ❤️ 1
    vxtrans
    ljbha007
        2
    ljbha007  
       2016-08-26 01:31:40 +08:00   ❤️ 1
    硅谷那边做成 REST API 让香港这边访问 这样比直接连数据库要好处理一些
    鉴权做好 保证数据不要外泄就 ok
    messyidea
        3
    messyidea  
       2016-08-26 01:37:11 +08:00 via Android   ❤️ 2
    服务器和数据库之间加一个抗丢包的 tunnel 试试
    JJaicmkmy
        4
    JJaicmkmy  
       2016-08-26 01:58:27 +08:00   ❤️ 1
    找 HE 之类的租一条专线。
    alcarl
        5
    alcarl  
       2016-08-26 02:05:19 +08:00   ❤️ 1
    可以每次少返回一点数据试试,如果数据库连接时用 tcp ,只要丢包不太严重,一般不会断掉,不会丢数据的。没想明白为啥会丢数据。。。。。
    fkbd
        6
    fkbd  
    OP
       2016-08-26 02:31:20 +08:00
    @UnisandK vxtrans 没什么效果

    @ljbha007 正在尝试这个方法,但看起来 API 也还是会丢包

    @messyidea 能给一个详细点吗?抗丢包的 tunnel 是怎么实现的?

    @JJaicmkmy 天哪,这个太贵了

    @alcarl 丢包率高峰时段有 40%,我也很郁闷香港到硅谷的线路为什么会这么差
    ZGLHHH
        7
    ZGLHHH  
       2016-08-26 02:35:18 +08:00   ❤️ 1
    数据库同步可以试试增量同步
    ZGLHHH
        8
    ZGLHHH  
       2016-08-26 02:39:49 +08:00   ❤️ 1
    另外,丢包问题可以试试 LotServer 、 KCPTUN 这类软件
    ljbha007
        9
    ljbha007  
       2016-08-26 02:40:30 +08:00   ❤️ 1
    @fkbd http 只会连接中断 不会丢包 可能是网络质量确实不好
    ljbha007
        10
    ljbha007  
       2016-08-26 02:41:06 +08:00   ❤️ 1
    @fkbd 哦 明白你意思了 上面是瞎说的 当我没说
    octopus_new
        11
    octopus_new  
       2016-08-26 04:49:03 +08:00   ❤️ 1
    如果数据库可以用 AWS RDS 的话, 我觉得可以考虑 cross region read replicas. 感觉 Amazon 的资源应该可以解决数据库同步的问题.
    9hills
        12
    9hills  
       2016-08-26 07:12:45 +08:00 via iPhone   ❤️ 1
    TVP 不会丢数据
    9hills
        13
    9hills  
       2016-08-26 07:12:57 +08:00 via iPhone   ❤️ 1
    修正 TCP
    GhostFlying
        14
    GhostFlying  
       2016-08-26 08:32:11 +08:00 via Android   ❤️ 1
    比较贵的解决方案是两边用跨区域互通的云服务,或者用跨区域互通的云服务做反代
    snnn
        15
    snnn  
       2016-08-26 08:54:29 +08:00 via Android   ❤️ 1
    没有这么干的。你需要的是 geo-replicated database 。
    walkman660
        16
    walkman660  
       2016-08-26 10:49:57 +08:00   ❤️ 1
    锐速
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2618 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 11:23 · PVG 19:23 · LAX 03:23 · JFK 06:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.