读写分离案例
背景
面对日益增加的系统访问量,数据库的吞吐量面临着巨大瓶颈。对于同一时刻有大量并发读操作和较少写操作类型的应用系统来说,将数据库拆
分为主库和从库,主库负责处理事务性的增删改操作,从库负责处理查询操作,能够有效的避免由数据更新导致的行锁,使得整个系统的查询性
能得到极大的改善。
sharding-JDBC介绍
Sharding-JDBC定位为轻量级/ava框架,在Java的JDBC层提供的额外服务。它使用客户端直连数据库,以jar包形式提供服务,无需额外部署和
依赖,可理解为增强版的]DBC驱动,完全兼容JDBC和各种ORM框架。使用Sharding-JDBC可以在程序中轻松的实现数据库读写分离。
- 适用于任何基于JDBC的ORM框架,如:JPA, Hibernate,Mvbatis,Spring JDBC Template或直接使用JDBC
- 支持任何第三方的数据库连接池,如: DBCP,C3P0,BoneCP,,Druid,HikariCP等
- 支持任意实现JDBC规范的数据库。目前支持MySOL,Oracle,SQLServer,PostqresOL以及任何遵循SOL92标准
的数据库。
<dependency><groupId>org.apache.shardingsphere</groupId><artifactId>sharding-jdbc-spring-boot-starter</artifactId><version>4.0.0-RC1</version>
</dependency>
读写分离案例
入门案例
使用sharding-JDBC实现读写分离步骤:
- 导入maven坐标
- 在配置文件中配置读写分离规则
- 在配置文件中配置允许bean定义覆盖配置项