zoukankan      html  css  js  c++  java
  • 数据库主从不同步问题随笔

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

  • 相关阅读:
    Centos7下安装oracle 11g,弹窗不显示或者显示太小
    SQLserver登陆报错
    centos7配置网易yum源
    python ----django---打包重用
    python打包exe文件
    Acwing-198-反素数(约数, 数学)
    Acwing-197-阶乘分解(质数)
    Acwing-196-质数距离(素数区间筛法)
    Acwing-169-数独2(搜索, 剪枝)
    Acwing-168-生日蛋糕(搜索, 剪枝)
  • 原文地址:https://www.cnblogs.com/xxyBlogs/p/5518137.html
Copyright © 2011-2022 走看看