Mysq主主复制,获取到了提交事务之前的数据
背景
有两个数据库节点,互为主备(暂且称为sqlnode1和sqlnode2)。有两个系统A和B,还有一个数据交换服务。
系统A的订单支付后,需要通知系统B。通知是通过数据交换服务实现的。系统A支付完成,在提交事务之后,向数据交换服务发送支付成功消息,数据交换服务根据消息从数据库中获取出订单数据,组装成系统B需要的数据,然后发送到系统B中。
问题
系统A支付成功 -> 保存数据到sqlnode1中 -> 提交事务 -> 向数据交换服务发送消息 -> 从sqlnode2中获取订单数据。
问题就在于在sqlnode1中的数据同步到sqlnode2之前,数据交换服务从sqlnode2中把数据取了出来。这就导致了数据交换服务拼装的是变更之前的数据。
暂时没有从网上找到类似事件的处理方式,求大神支招
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我的建议是不从sql2中去拿数据,既然能存表就证明这些数据你是知道的,那为什么还要再去取一次呢 何不直接用存表前的数据去操作下一个步骤呢