2019独角兽企业重金招聘Python工程师标准>>>

前置条件,自己已经实现了mysql的主从复制和读写分离(atlas或者mycat),会遇到的问题

1.刚修改后的数据,立马查询是可能不一致的,因为数据同步是需要时间的,好多开发人员会忽略这一点

解决办法:

(1)开启方法事务,读写分离默认事务操作只会走主库,这里就要考虑到主库的压力问题

(2)通过代码逻辑尽量避免修改库后立马查询的操作(一般采取这种方式)

2.注意开发框架的事务配置(java 举例),一般我们会在配置文件配置某些约定的方法名字前缀开启不同的事务(或者不开启),但现在随着注解事务的流行,好多开发人员(或者架构师)搭建框架的时候在service类上加上了@Transactional注解,导致整个类都是开启事务的,这样严重影响数据库执行的效率,更重要的是开发人员不重视、或者不知道在查询类的方法上面自己加上@Transactional(propagation=Propagation.NOT_SUPPORTED)就会导致,所有的查询方法实际并没有走从库,导致主库压力过大

解决办法:根据service方法类型(写多还是读多)来家Transaction的注解,每个方法加自己单独的注解,但不建议,推荐约定不同的方法名前缀控制注解。

转载于:https://my.oschina.net/haitaohu/blog/2874758

读写分离无效的大坑(新使用数据库读写分离的同学可以参考)相关推荐

  1. php读写分离数据不能同步,thinkphp 下数据库读写分离代码剖析

    当采用原生态的sql语句进行写入操作的时候,要用execute,读操作要用query. MySQL数据主从同步还是要靠MySQL的机制来实现,所以这个时候MySQL主从同步的延迟问题是需要优化,延迟时 ...

  2. spring mysql 读写分离_如何利用Spring实现数据库读写分离?

    现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库.Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询.因为在实际的应 ...

  3. mysql读写分离java配置方法_springboot配置数据库读写分离

    为什么要做数据库读写分离 大多数互联网业务,往往读多写少,这时候,数据库的读会首先称为数据库的瓶颈,这时,如果我们希望能够线性的提升数据库的读性能,消除读写锁冲突从而提升数据库的写性能,那么就可以使用 ...

  4. jfinal mysql读写分离_在JFinal中对数据库读写分离的实现:报错 -问答-阿里云开发者社区-阿里云...

    频繁使用 use(configName) 没有任何性能问题,仅仅是为变量赋一个 string 值而已,完全可以忽略######@JFinal######我现在也使用,读用的是视图model,写操作使用 ...

  5. 简单好用!利用Spring AOP技术10分钟实现一个数据库读写分离方案

    前言 最近我们的APP在线用户越来越多,接口的响应速度也是越来越慢,经过运维排查发现是由于并发查询太多导致的数据库压力比较大,架构师经过调研给出了数据库读写分离的解决方案,为了快速解决问题,我们最终采 ...

  6. Python开发之:Django基于Docker实现Mysql数据库读写分离、集群、主从同步详解 | 原力计划...

    作者 | Pythonicc 责编 | 王晓曼 出品 | CSDN博客 简介 1.什么是数据库读写分离 读写分离,基本的原理是让主数据库处理事务性增.改.删操作(INSERT.UPDATE.DELET ...

  7. phalapi 数据库锁_[7.11]-phalapi-进阶篇5(数据库读写分离) | PhalApi(π框架) - PHP轻量级开源接口框架...

    phalapi-进阶篇5(数据库读写分离以及多库使用) 前言 先在这里感谢phalapi框架创始人@dogstar,为我们提供了这样一个优秀的开源框架. 读写分离是我们常用的一种解决方案,它可以解决大 ...

  8. 数据库读写分离与分库分表

    3.1 读写分离(主要是为了数据库读能力的水平扩展) 3.1.1 读写分离概念 单台mysql实例情况下不能支持短时间内大量的对数据库的读操作,所以会将数据库配置成集群,一个master(主库).多个 ...

  9. Centos7+LAMP+owncloud+数据库读写分离

    1. Mysql-5.6.40 软件包存放目录:/usr/local/src/ 1.1 安装mysql cd /usr/local/src/ # 1.切换到软件包目录wget http://...my ...

最新文章

  1. centos查看历史指令记录_CentOS 系统通过 curlftpfs 挂载 FTP 服务器为本地磁盘
  2. 倍福TwinCAT(贝福Beckhoff)基础教程5.1 TwinCAT-2 运行可执行文件
  3. NSOperation vs大中央派遣
  4. 2019年最新10份开源Java精选资料
  5. SIGMOD回顾:数据库国际大咖组团来阿里,他们都说了啥?
  6. java中如何判断aabb_java判断改错题
  7. 软件测试管理工具禅道开源版下载安装
  8. 不愿做「奴隶」的程序员们组建了一个王国
  9. gitee创建ssh公钥
  10. 某文件在桌面上,命令窗口中找不到,因为桌面是两个目录合成的
  11. js获取url参数值的几种方式
  12. 【转】支持向量机回归模型SVR
  13. 2019年计算机考研408历年真题2009-2019下载免费下载
  14. TB6612FNG 驱动学习笔记
  15. 创建物理卷报错Can‘t open /dev/sdb5 exclusively. Mounted filesystem的问题解决过程记录
  16. 做后端php和java区别,【后端开发】php和java有什么区别
  17. Android虚拟机运行不了程序,Android程序在Android9.0手机或者虚拟机上运行不了的解决方法...
  18. 【CSS3 】css样式的计算calc属性
  19. Oracle序列的创建和使用
  20. Spark运行环境之SparkEnv和通信工具RpcEnv

热门文章

  1. linux——windows:上传、下载命令——rz,sz
  2. 如何用Python实现目录遍历
  3. 数据绑定控件Reperter
  4. C#写的ftp上传类
  5. 隐含马尔科夫模型的训练
  6. 第十五章:交互式界面(十一)
  7. android ListView 九大重要属性详细分析
  8. c++ 单引和双引的区别
  9. placeholder在某些浏览器下不垂直居中问题
  10. “网页上有错误”的解决方法