SpringBoot项目实战Day03-MyBatis主从数据库实现读写分离

MyBatis主从数据库实现读写分离

  • mail-producer
  • 实现读写分离

mail-producer

  • UUID的生成策略
  • RocketMQ

实现读写分离

  • 首先实现读写分离,意味着有两个数据库,当写操作的时候对主数据库master使用,当读操作的时候对从数据库slave使用. 在启动数据库的时候需要启动两个,在使用的时候加上自定义注解的形式来区分是读数据库还是写数据库:
    • 首先配置好两个数据源,要区分开两个数据源,分别是主数据源和从数据源
    • 通过MyBatis将两个数据源都注入到应用中
    • 要想实现读写分离,需要定义一个标识来区分什么情况下用写,什么情况下用读
    • 要实现一个即时切换主从数据源标识并且能够保证线程足够安全的基础下进行操作的数据源: 因为并发会影响数据源的获取,分不清主从,在读数据库进行写操作,会引起数据库服务器异常.通过使用threadLocal来存储数据源标识可以解决这样的问题
    • 只需要实现自定义注解,在方法上有注解则为写操作,默认为只读操作

你可能感兴趣的:(PROJECTS,数据库,java,spring,mysql,mybatis)