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

有个服务需要部署在不同的地域,关于数据收集的方案

  •  
  •   cszchen · 2020-11-06 09:15:13 +08:00 via Android · 1422 次点击
    这是一个创建于 1482 天前的主题,其中的信息可能已经有所发展或是发生改变。
    方案一,各节点直接访问数据库,数据库做 ip 白名单,开启 DCDN 加速
    方案二,开发一个数据收集的 API 接口,各节点定时上报,开启 DCDN 加速

    因为没搞过类似的,想问问大家的意见
    方案一直接入库比较简单,方案二感觉更符合开发的规范,哪个可靠一些呢
    5 条回复    2020-11-06 18:13:10 +08:00
    star7th
        1
    star7th  
       2020-11-06 09:21:31 +08:00
    如果是单纯数据上报的话,当然是走接口了。
    opengps
        2
    opengps  
       2020-11-06 09:36:23 +08:00 via Android
    跨地域会有一些中途的问题,一般来说建议解耦合,收发两端都用队列暂存缓冲下,让发不出去的消息推迟到能顺利收发时候进行,用队列记录日志也可以减少日志逻辑对主进程资源性能占用太多
    zarte
        3
    zarte  
       2020-11-06 09:58:34 +08:00
    都挺可靠的呀,逻辑部分出错的时候重试打日志就好了。网络问题不可能百分百可靠也不是你可以控制的,数据能自动补传或者手动就可以。
    cszchen
        4
    cszchen  
    OP
       2020-11-06 10:44:47 +08:00
    @opengps 是啊,弄个 mq,保证至少送达一次,免得丢数据
    joesonw
        5
    joesonw  
       2020-11-06 18:13:10 +08:00
    如果是比较大型的业务的话, 不怕麻烦就用 wireguard 串起来.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2642 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 15:47 · PVG 23:47 · LAX 07:47 · JFK 10:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.