当前位置:网站首页 > Java教程 > 正文

java读写分离教程



当使用Spring Boot开发数据库应用时,读写分离是一种常见的优化策略。读写分离将读操作和写操作分别分配给不同的数据库实例,以提高系统的吞吐量和性能。

读写分离实现主要是通过动态数据源功能实现的,动态数据源是一种通过在运行时动态切换数据库连接的机制。它允许应用程序根据不同的条件或配置选择不同的数据源,以实现更灵活和可扩展的数据库访问。

通过不同的条件限制和配置文件前缀可以完成不同数据源的创建工作,不止是主从也可以是多个不同的数据库。

主库数据源配置:

从库数据源配置:

这儿做了一个开关,可以控制读写分离的开启和关闭工作,可以将操作全部切换到主库进行。然后根据上下文中的数据源类型来返回不同的数据源类型枚举。

将主数据库和从数据库的数据源添加到动态数据源中,并可以通过枚举创建一个数据源 ,这样就可以通过上面的路由返回的枚举来切换数据源。

使用 存储当前线程的数据源类型。

注意这儿有个潜在风险就是创建新的线程时会导致 中的数据无法正确读取,如果涉及到在开启新线程可以使用 来进行父子线程数据的同步。

Github:https://github.com/alibaba/transmittable-thread-local

如果不排除自动配置类会导致初始化多个 dataSource 对象导致出现问题。

修改连接配置,加入连接池相关配置即可。

不需要做任何配置,正常集成 mybatis 即可使用读写分离功能。

可以通过 mybatis 的拦截器在执行写入操作时强制切换到主库。


Ref:

  • 上一篇: it教程视频java
  • 下一篇: 导入文件教程java
  • 版权声明


    相关文章:

  • it教程视频java2024-12-11 12:10:04
  • 下界交通教程java2024-12-11 12:10:04
  • 赫斌java教程2024-12-11 12:10:04
  • java自学封装教程2024-12-11 12:10:04
  • 马云java教程2024-12-11 12:10:04
  • 导入文件教程java2024-12-11 12:10:04
  • java编程教程书2024-12-11 12:10:04
  • java委托模型教程2024-12-11 12:10:04
  • java学生信息管理系统视频教程2024-12-11 12:10:04
  • 北大java教程2024-12-11 12:10:04