公司的一个内网系统,映射到外网,可随时访问,最近几天发现会丢失数据 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
ninechi
V2EX    程序员

公司的一个内网系统,映射到外网,可随时访问,最近几天发现会丢失数据

  •  
  •   ninechi 2019-07-30 09:07:30 +08:00 3993 次点击
    这是一个创建于 2268 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人在月初刚开发完成、上线一个公司内部的综合管理系统,由于要挂在钉钉上使用,所以有将内网地址解析了公网 IP,一切正常。然而昨天到今天,我发现有一两个表单的数据在新增的时候,总是会丢失几个字段的内容(之前都不会)。

    个人分析:

    1、可能是解析公网 IP 导致的。因为解析后的 IP 地址固定是一个,但是公司一共有两个运营商的六个公网 IP,貌似在不同情况下回自动切换。而在切换的过程中,刚好系统正在接收数据,所以导致丢失?(网络这方面我懂的不多)

    2、系统 bug ?这部分的代码已经检查过若干次,测试环境也正常,应该不是这个原因。

    3、也是网络相关。由于是解析后的公网地址,即使在内网访问,也要绕一圈先从外网再到内网,在这过程中又因为某些原因导致数据丢失。

    有无大神来指点迷津。

    22 条回复    2019-07-30 13:42:53 +08:00
    Sornets
        1
    Sornets  
       2019-07-30 09:11:25 +08:00
    事务?
    fishlium
        2
    fishlium  
       2019-07-30 09:13:35 +08:00
    我觉得不是网络问题,你直接在内网访问内网地址就可以排出网络问题了
    arthas2234
        3
    arthas2234  
       2019-07-30 09:17:48 +08:00
    这种问题复现很容易啊,打日志,把数据打印出来看一眼就知道了
    MonoLogueChi
        4
    MonoLogueChi  
       2019-07-30 09:29:00 +08:00 via Android
    那个从内网访问的话数据不会在外网绕一圈,只是解析的时候会有一个流程,而且 DNS 地址是缓存的,只要解析一次就可以好长时间有效
    GuangXiN
        5
    GuangXiN  
       2019-07-30 09:30:11 +08:00 via Android
    1. 你域名解析出来是哪个 ip 就是哪个 ip,和你公司有几个公网 ip 没关系。除非你自己把六个公网 ip 全加进去了。

    2. 你的字段是一次 http 请求中提交的还是多次分部分提交的?如果是后者,你有做提交失败重新发起的处理吗?

    3. 只要你是 http 请求里提交数据,就不存在绕一圈会丢失的问题。http 底层的 tcp 协议保证了数据包丢了也会自动重传,重传失败多次会断开连接。上层程序只需要处理成功和失败的情况,不会出现缺少字段的情况。
    lcy630409
        6
    lcy630409  
       2019-07-30 09:34:48 +08:00
    你的猜测都错误 没有依据
    你在添加数据库的地方 直接把数据写到 txt 里,然后对比缺失数据,首先确定是不是数据库的问题
    对了 看看公司的电脑 会不会被别人关电了?
    arrow8899
        7
    arrow8899  
       2019-07-30 09:40:05 +08:00
    看一下网关的日志,http 不会出现只丢一部分字段的情况,估计是客户端没传。
    encro
        8
    encro  
       2019-07-30 10:16:38 +08:00
    http 不存在丢失的问题,所以可能是:
    1,客户端丢失了;
    2,程序丢失了;
    3,数据库丢失了;
    4,在其他地方被改写了;

    排查方法是:1,接口日志; 2,数据表增加最后修改时间(自动);
    yylyan
        9
    yylyan  
       2019-07-30 10:18:26 +08:00
    1,本机多次刷新看下公网 ip 是否更换,一般内网网关设置都是源 ip+目的 ip 端口为同一个连接,不会切换 ip
    2,写日志,打 log
    3,pppoe 运营商为释放资源,一般会隔几天需重新拨号更换公网 ip,重拨也是一俩分钟的事情,一般不会存在这种问题
    autogen
        10
    autogen  
       2019-07-30 10:19:46 +08:00
    丢失什么类型的数据? 用户发送的请求后台日志没有搜到,还是数据在 db 里丢了?
    reus
        11
    reus  
       2019-07-30 10:41:49 +08:00
    一个 print 就能确定的事情,还要发帖……
    ninechi
        12
    ninechi  
    OP
       2019-07-30 13:37:06 +08:00
    @reus 哈哈哈,不懂就要问
    ninechi
        13
    ninechi  
    OP
       2019-07-30 13:38:20 +08:00
    @autogen int 型,估计是在数据库丢失的。前端 js 有判断必填项,否则不能提交
    ninechi
        14
    ninechi  
    OP
       2019-07-30 13:38:45 +08:00
    @yylyan 好的,谢谢
    ninechi
        15
    ninechi  
    OP
       2019-07-30 13:39:44 +08:00
    @encro 估计第 3、4 点的概率大。系统日志有查了没有报错
    ninechi
        16
    ninechi  
    OP
       2019-07-30 13:40:41 +08:00
    @arrow8899 网络的管理不在我这边,我去找网络工程师问问
    ninechi
        17
    ninechi  
    OP
       2019-07-30 13:41:00 +08:00
    @lcy630409 好的,谢谢指点
    ninechi
        18
    ninechi  
    OP
       2019-07-30 13:41:19 +08:00
    @GuangXiN 受教了,谢谢
    ninechi
        19
    ninechi  
    OP
       2019-07-30 13:41:51 +08:00
    @MonoLogueChi 了解了,受教了,谢谢
    ninechi
        20
    ninechi  
    OP
       2019-07-30 13:42:20 +08:00
    @arthas2234 好的,谢谢
    ninechi
        21
    ninechi  
    OP
       2019-07-30 13:42:44 +08:00
    @Sornets 增删改都有事务
    ninechi
        22
    ninechi  
    OP
       2019-07-30 13:42:53 +08:00
    @fishlium 好的,谢谢
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4178 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 10:15 PVG 18:15 LAX 03:15 JFK 06:15
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86