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

2021-05-13 10:32:21 +08:00
 dengji85

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

2527 次点击
所在节点    Java
12 条回复
ChovyChu
2021-05-13 10:44:18 +08:00
rabbitMq,另外“项目管理系统写了加班日志自动往 erp 生成加班申请”这个流程有点诡异,不是应该先申请再写日志的吗
dengji85
2021-05-13 11:02:06 +08:00
@ChovyChu 我没有仔细描述,是基本日志审核后自动生成加班申请,所有日志需上级审核,所以加班申请不需要审核
micean
2021-05-13 11:34:06 +08:00
直接在数据库里跑一些简单的触发器
xkeyideal
2021-05-13 11:34:12 +08:00
伪需求,OA+ERP 系统能有多大的 qps,不可能存在性能不够的问题,除非代码 bug,这类系统几乎不存在 api 失败的情况,另即使人工干预成本也就那样吧。这明显是一艘小破船就可以了,非要造一艘航母。
turan12
2021-05-13 13:05:33 +08:00
Python 写个脚本直接轮询
xuanbg
2021-05-13 13:26:17 +08:00
憋折腾了,数据一致性是一个非常复杂的问题,不可能存在简单的、轻量级的解决方案。所以我不会去试图解决这个问题,而是针对临时性的系统故障,利用延时队列做一个简单的重试。重试成功自然万事大吉,失败了呢?失败了就人工干预好了。。。系统跑了 3 年多了,还没干预过呢
dengji85
2021-05-13 14:01:05 +08:00
@xkeyideal 现状是在一艘破轮船上,有统一的登陆服务、网关、权限 部署也是在公司自己的云上,基础服务和应用跨了多个部门 这些基础应用加数据库 容器快十个了 大大加了故障率
dengji85
2021-05-13 14:08:36 +08:00
@xuanbg 这倒是个思路 完善一下重试
clf
2021-05-13 16:19:32 +08:00
之前公司都是 OA 直接往数据库里写数据的。反过来,其它系统往 OA 数据库里写数据也是一样。(就离谱)
xkeyideal
2021-05-13 17:29:50 +08:00
@dengji85 那正确做法不应该是弃船,然后重新造一条船么
ljzxloaf
2021-05-13 23:07:20 +08:00
消息驱动,rocketmq
liuliancao
2021-05-14 08:29:54 +08:00
工单-流程平台-HTTP 或者集成消息软件-HTTP

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/776651

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX