美文网首页
一个由于MySQL Binlog同步问题导致的bug

一个由于MySQL Binlog同步问题导致的bug

作者: long2ice | 来源:发表于2020-10-26 22:15 被阅读0次

    最近在项目中遇到了一个很奇怪的 bug,从发现到解决一共持续了一周左右的时间。

    bug 现象:插入一条语句后在执行 select,会报查询不到记录,但是该 bug 只偶尔复现,频率很低。

    刚开始的时候尝试了很多种方法,猜测是不是 ORM 框架问题,或者是 MySQL 版本问题,但是经过测试都不会复现。并且由于出现的概率很低,很不好 debug。

    在问题的代码周围打了很多 log,也还是没有找到问题所在。

    就在有一次我上厕所的时候灵机一动,联想到我们用的是阿里云的读写分离数据库,猜测是否是因为 MySQL 同步延迟导致的?

    查询了阿里云文档后,地址为https://help.aliyun.com/knowledge_detail/41767.html?spm=5176.11065259.1996646101.searchclickresult.3d3c31d8pXWGBr,最终确定正是这个问题。

    解决方案有两种,一种是在同一事务中支持先写入再读取操作,另一种是使用单实例,放弃读写分离。

    相关文章

      网友评论

          本文标题:一个由于MySQL Binlog同步问题导致的bug

          本文链接:https://www.haomeiwen.com/subject/bbwzmktx.html