读写分离(数据源动态切换)

简介: 数据源在spring加载启动完成之后,需要根据不同的业务场景做动态的切换。 解决思路 1、借助spring提供的抽象类AbstractRoutingDataSource,通过继承抽象类,并覆盖determineCurrentLookupKey方法。 2、增加Aspect环绕服务,在before里面设置好数据源本地线程变量、after之后清理掉数据源本地线程变量。 3、每次获

数据源在spring加载启动完成之后,需要根据不同的业务场景做动态的切换。

解决思路

1、借助spring提供的抽象类AbstractRoutingDataSource,通过继承抽象类,并覆盖determineCurrentLookupKey方法。

2、增加Aspect环绕服务,在before里面设置好数据源本地线程变量、after之后清理掉数据源本地线程变量。

3、每次获取的时候,若数据源本地线程变量为空,则默认走主dataSource。

注意事项

1、Aspect和继承的AbstractRoutingDataSource类之间执行顺序的问题通过设置order来控制。

2、测试动态数据源切换通过启动系统来测试,不是单元测试,单元测试有的时候会失效。

目录
相关文章
|
3月前
|
存储 监控 安全
数据库多实例的部署与配置方法
【10月更文挑战第23天】数据库多实例的部署和配置需要综合考虑多个因素,包括硬件资源、软件设置、性能优化、安全保障等。通过合理的部署和配置,可以充分发挥多实例的优势,提高数据库系统的运行效率和可靠性。在实际操作中,要不断总结经验,根据实际情况进行调整和优化,以适应不断变化的业务需求。
|
3月前
|
存储 负载均衡 监控
数据库多实例的深入解析
【10月更文挑战第24天】数据库多实例是一种重要的数据库架构方式,它为数据库的高效运行和灵活管理提供了多种优势。在实际应用中,需要根据具体的业务需求和技术环境,合理选择和配置多实例,以充分发挥其优势,提高数据库系统的性能和可靠性。随着技术的不断发展和进步,数据库多实例技术也将不断完善和创新,为数据库管理带来更多的可能性和便利。
150 57
|
8月前
|
关系型数据库 MySQL 数据库
数据库读写分离后的数据同步方式
【6月更文挑战第5天】该文介绍了应对大并发请求的数据库解决方案,主要涉及MySQL的主从同步和读写分离。根据业务对数据一致性和延迟的容忍度选择合适模式,读写分离则能进一步优化数据库负载。
247 3
数据库读写分离后的数据同步方式
|
8月前
|
运维 关系型数据库 MySQL
PolarDB产品使用问题之多主集群配置多个全局只读节点最多可增加到多少个
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
8月前
|
关系型数据库 分布式数据库 数据库
PolarDB产品在使用的过程中如何设置优先级数据库节点
在PolarDB中设置优先级节点涉及登录管理控制台,创建新节点并选择“设置优先级”选项。优先级高的节点不等同于性能更好,而是系统优先处理请求的目标。配置时需依据实际需求。[链接](https://www.caigumoke.com/cj/e1a7fff4.html)[链接](https://www.caigumoke.com/yh/b3b74248.html)
|
8月前
|
关系型数据库 分布式数据库 网络安全
PolarDB产品使用问题之如何设置优先级数据库节点
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
存储 前端开发 Java
可路由计算引擎实现前置数据库
可路由计算引擎实现前置数据库
可路由计算引擎实现前置数据库
|
存储 SQL 缓存
基于springboot+jpa 实现多租户动态切换多数据源 - 数据隔离方案选择分库还是分表
基于springboot+jpa 实现多租户动态切换多数据源 - 数据隔离方案选择分库还是分表
332 0
基于springboot+jpa 实现多租户动态切换多数据源 - 数据隔离方案选择分库还是分表
|
SQL 存储 关系型数据库
PostgreSQL 流复制搭建主从环境,同步和异步的解释,压力测试,主从角色切换|学习笔记
快速学习PostgreSQL 流复制搭建主从环境,同步和异步的解释,压力测试,主从角色切换
PostgreSQL 流复制搭建主从环境,同步和异步的解释,压力测试,主从角色切换|学习笔记
|
Java 中间件 网络安全
数据库主从分离加读写分离操作步骤
数据库主从分离加读写分离操作步骤
158 0

热门文章

最新文章