Mysq主主复制,获取到了提交事务之前的数据

发布于 2022-09-06 06:43:36 字数 412 浏览 17 评论 0

背景

有两个数据库节点,互为主备(暂且称为sqlnode1和sqlnode2)。有两个系统A和B,还有一个数据交换服务。
系统A的订单支付后,需要通知系统B。通知是通过数据交换服务实现的。系统A支付完成,在提交事务之后,向数据交换服务发送支付成功消息,数据交换服务根据消息从数据库中获取出订单数据,组装成系统B需要的数据,然后发送到系统B中。

问题

系统A支付成功 -> 保存数据到sqlnode1中 -> 提交事务 -> 向数据交换服务发送消息 -> 从sqlnode2中获取订单数据。

问题就在于在sqlnode1中的数据同步到sqlnode2之前,数据交换服务从sqlnode2中把数据取了出来。这就导致了数据交换服务拼装的是变更之前的数据。

暂时没有从网上找到类似事件的处理方式,求大神支招

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

拥抱没勇气 2022-09-13 06:43:36

我的建议是不从sql2中去拿数据,既然能存表就证明这些数据你是知道的,那为什么还要再去取一次呢 何不直接用存表前的数据去操作下一个步骤呢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文