• 数据库主从不同步问题随笔


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

  • 相关阅读:
    ci中使用mail类
    简单php发送邮件
    Firefox 中出现的 “Network Protocol Error”怎么办
    让linux启动更快的方法
    小米盒子3代码公布了,你要刷机吗?
    毕业季,我的Linux求职之路
    菜鸟学习计划浅谈之Linux系统
    细述:nginx http内核模块提供的变量和解释
    Linux使用百度云
    网工的Linux系统学习历程
  • 原文地址:https://www.cnblogs.com/xxyBlogs/p/5518137.html
Copyright © 2020-2023  润新知