小白请教一下解决方案,公司内部多个独立的系统, http 接口的调用如何保证数据一致性 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dengji85
V2EX    Java

小白请教一下解决方案,公司内部多个独立的系统, http 接口的调用如何保证数据一致性

  •  1
     
  •   dengji85 2021-05-13 10:32:21 +08:00 3138 次点击
    这是一个创建于 1691 天前的主题,其中的信息可能已经有所发展或是发生改变。
    • 背景:没有顶层设计、独立开发的内部系统:项目管理系统、erp 系统、人资系统... 已经经过 4 、5 波的人了*
    • 跨系统的一些功能如:在 erp 请假,项目管理系统自动生成日志; 项目管理系统写了加班日志自动往 erp 生成加申请 *

    这些功能都是直接调用 http 接口实现的,没有分布式事务框架,如何轻量的提高数据一致性

    12 条回复    2021-05-14 08:29:54 +08:00
    ChovyChu
        1
    ChovyChu  
       2021-05-13 10:44:18 +08:00
    rabbitMq,另外“项目管理系统写了加班日志自动往 erp 生成加班申请”这个流程有点诡异,不是应该先申请再写日志的吗
    dengji85
        2
    dengji85  
    OP
       2021-05-13 11:02:06 +08:00
    @ChovyChu 我没有仔细描述,是基本日志审核后自动生成加班申请,所有日志需上级审核,所以加班申请不需要审核
    micean
        3
    micean  
       2021-05-13 11:34:06 +08:00 via Android
    直接在数据库里跑一些简单的触发器
    xkeyideal
        4
    xkeyideal  
       2021-05-13 11:34:12 +08:00   4
    伪需求,OA+ERP 系统能有多大的 qps,不可能存在性能不够的问题,除非代码 bug,这类系统几乎不存在 api 失败的情况,另即使人工干预成本也就那样吧。这明显是一艘小破船就可以了,非要造一艘航母。
    turan12
        5
    turan12  
       2021-05-13 13:05:33 +08:00 via iPhone
    Python 写个脚本直接轮询
    xuanbg
        6
    xuanbg  
       2021-05-13 13:26:17 +08:00
    憋折腾了,数据一致性是一个非常复杂的问题,不可能存在简单的、轻量级的解决方案。所以我不会去试图解决这个问题,而是针对临时性的系统故障,利用延时队列做一个简单的重试。重试成功自然万事大吉,失败了呢?失败了就人工干预好了。。。系统跑了 3 年多了,还没干预过呢
    dengji85
        7
    dengji85  
    OP
       2021-05-13 14:01:05 +08:00
    @xkeyideal 现状是在一艘破轮船上,有统一的登陆服务、网关、权限 部署也是在公司自己的云上,基础服务和应用跨了多个部门 这些基础应用加数据库 容器快十个了 大大加了故障率
    dengji85
        8
    dengji85  
    OP
       2021-05-13 14:08:36 +08:00
    @xuanbg 这倒是个思路 完善一下重试
    clf
        9
    clf  
       2021-05-13 16:19:32 +08:00
    之前公司都是 OA 直接往数据库里写数据的。反过来,其它系统往 OA 数据库里写数据也是一样。(就离谱)
    xkeyideal
        10
    xkeyideal  
       2021-05-13 17:29:50 +08:00
    @dengji85 那正确做法不应该是弃船,然后重新造一条船么
    ljzxloaf
        11
    ljzxloaf  
       2021-05-13 23:07:20 +08:00
    消息驱动,rocketmq
    liuliancao
        12
    liuliancao  
       2021-05-14 08:29:54 +08:00
    工单-流程平台-HTTP 或者集成消息软件-HTTP
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5485 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 03:34 PVG 11:34 LAX 19:34 JFK 22:34
    Do have faith in what you're doing.
    ubao msn 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