数据库主从不同步问题随笔
Posted 白色的白和色
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据库主从不同步问题随笔相关的知识,希望对你有一定的参考价值。
前几天,公司的新上线平台在生产环境出了bug,就是新增一个用户后,后台爆空指针异样,然后开发在查看日志后并且问了公司技术部后,原来公司数据库主从同步时间是200-300毫秒,新增一个用户的业务是,新增成功往数据库主库中插入数据,然后从库中获取插入数据的id,并为这个id的用户分配角色,这2个动作是连续的,而从新增用户到分配角色这个时间从日志中看到2个步骤的时间少于200毫秒,但是这个问题在测试平台没有暴露出来,因为测试平台是SSD硬盘,而生产环境是机械硬盘。
为了解决这个问题,公司技术总监找开发开会并说明了解决办法,主要的方向有2个,一个sql出发,一个从代码出发
1.为了让查询请求可以访问主库,可以在sql中加入标签#master
2.在代码中加入事物也可解决问题,因为对于事物的查询,中间件会自动查询主库;还有在代码中只要是新增操作,方法不用void,而是需要return会新增数据的id,这样调用新增方法的开发就不会在新增数据后单独调用findById()这个方法,从而避免本随笔中的问题
以上的仅为大家提供参考,毕竟这些东西在网络也是可以查询到的,顺便附图一张
以上是关于数据库主从不同步问题随笔的主要内容,如果未能解决你的问题,请参考以下文章