一个数据库拆分情况下跨库事务问题

如果我把订单和支付系统拆分独立的库
订单库
用户与内容库

用户表有一个 VIP 时间 订单支付成功后修改 VIP 到期时间

除了消息队列还有什么可靠的方案 跨库事务不熟悉,MQ 只会用公有云提供的,自己没有能力维护和保障数据安全,redis 做的队列这种场景不太可靠,有什么方法保证收到支付平台通知后,订单表修改成功后同步修改用户表 vip 到期时间,数据不能丢失

这个项目部署在小机房,用不了公有云提供的强大运维能力,自己也不熟悉主流的几个 MQ 维护,有什么最简单可靠的方案

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

下单流程:订单服务-->支付服务-->第三方服务商

回调流程:第三方服务商-->支付服务-->订单服务

把支付服务当作中间人

1周前 评论
renxiaotu (作者) 1周前

对于这种 最直接最简单的就是要有预警 不管是长时间未反馈的预警也好,还是执行报错的预警也好, 预警出来后 单独解决,因为失败毕竟是小概率事件,不过如果真的出现了大规模的失败,一定得有脚本来修复这种数据,同时接口最好做幂等

1周前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!