shardingjdbc + jpa 完成讀寫分離配置及資料分片
1、環境介紹
虛擬機器中新建6臺伺服器,分別配置成兩個一主兩從模式的資料庫叢集,主從同步上一篇詳解。
注意:建立克隆需要修改靜態IP地址、mysql 的server-id、以及server-uuid引數,每臺伺服器必須不同。
2、資料庫建表
3、資料庫對映的實體類
4、讀寫分離配置
# 配置6個資料來源 spring.shardingsphere.datasource.names=master0,slave0,slave1,master1,slave2,slave3 spring.shardingsphere.datasource.master0.type=com.zaxxer.hikari.HikariDataSource spring.shardingsphere.datasource.master0.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master0.jdbc-url=jdbc:mysql://192.168.92.132:3306/task spring.shardingsphere.datasource.master0.username=root spring.shardingsphere.datasource.master0.password=root spring.shardingsphere.datasource.slave0.type=com.zaxxer.hikari.HikariDataSource spring.shardingsphere.datasource.slave0.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.slave0.jdbc-url=jdbc:mysql://192.168.92.133:3306/task spring.shardingsphere.datasource.slave0.username=root spring.shardingsphere.datasource.slave0.password=root spring.shardingsphere.datasource.slave1.type=com.zaxxer.hikari.HikariDataSource spring.shardingsphere.datasource.slave1.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.slave1.jdbc-url=jdbc:mysql://192.168.92.134:3306/task spring.shardingsphere.datasource.slave1.username=root spring.shardingsphere.datasource.slave1.password=root spring.shardingsphere.datasource.master1.type=com.zaxxer.hikari.HikariDataSource spring.shardingsphere.datasource.master1.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master1.jdbc-url=jdbc:mysql://192.168.92.135:3306/task spring.shardingsphere.datasource.master1.username=root spring.shardingsphere.datasource.master1.password=root spring.shardingsphere.datasource.slave2.type=com.zaxxer.hikari.HikariDataSource spring.shardingsphere.datasource.slave2.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.slave2.jdbc-url=jdbc:mysql://192.168.92.136:3306/task spring.shardingsphere.datasource.slave2.username=root spring.shardingsphere.datasource.slave2.password=root spring.shardingsphere.datasource.slave3.type=com.zaxxer.hikari.HikariDataSource spring.shardingsphere.datasource.slave3.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.slave3.jdbc-url=jdbc:mysql://192.168.92.137:3306/task spring.shardingsphere.datasource.slave3.username=root spring.shardingsphere.datasource.slave3.password=root # 讀寫分離配置 spring.shardingsphere.sharding.master-slave-rules.master0.master-data-source-name=master0 spring.shardingsphere.sharding.master-slave-rules.master0.slave-data-source-names=slave0,slave1 spring.shardingsphere.sharding.master-slave-rules.master1.master-data-source-name=master1 spring.shardingsphere.sharding.master-slave-rules.master1.slave-data-source-names=slave2,slave3 # 讀資料時的策略(輪詢) spring.shardingsphere.masterslave.load-balance-algorithm-type=round_robin # 配置id生成策略 spring.shardingsphere.sharding.tables.c_order.key-generator.column=id spring.shardingsphere.sharding.tables.c_order.key-generator.type=SNOWFLAKE # 資料庫表分片配置 (根據user_id欄位分庫) spring.shardingsphere.sharding.tables.c_order.database-strategy.inline.sharding-column=user_id spring.shardingsphere.sharding.tables.c_order.database-strategy.inline.algorithm-expression=master$->{user_id % 2}
5、測試資料庫分片及讀寫分離情況
相關文章
- MySQL-SpringBoot整合JPA實現資料讀寫分離MySqlSpring Boot
- 資料庫讀寫分離資料庫
- 資料讀寫壓力大,讀寫分離
- discuz 配置讀寫分離(主寫從讀)
- 大資料資料庫讀寫分離分庫分表大資料資料庫
- 在 Istio 中實現 Redis 叢集的資料分片、讀寫分離和流量映象Redis
- ShardingSphere(七) 讀寫分離配置,實現分庫讀寫操作
- Spring Boot + Mybatis 多資料來源配置實現讀寫分離Spring BootMyBatis
- MySQL 中讀寫分離資料延遲MySql
- 資料庫讀寫分離Master-Slave資料庫AST
- ssm讀寫分離多資料來源SSM
- 配置\清除 MySQL 主從 讀寫分離MySql
- 資料庫治理利器:動態讀寫分離資料庫
- Spring Aop實現資料庫讀寫分離Spring資料庫
- DM8配置讀寫分離叢集
- 使用ShardingSphere-JDBC完成Mysql的分庫分表和讀寫分離JDBCMySql
- golang saas框架,資料庫級別隔離、讀寫分離Golang框架資料庫
- 搭建基於springmvc,ibatis的工程實現讀寫分離,配置分離SpringMVCBAT
- MyCat 讀寫分離 資料庫分庫分表 中介軟體 安裝部署,及簡單使用資料庫
- ProxySQL簡介原理及讀寫分離應用SQL
- 資料庫讀寫分離,主從同步實現方法資料庫主從同步
- 資料庫的讀寫分離與負載均衡策略資料庫負載
- KunlunBase 讀寫分離方案
- Redis的讀寫分離Redis
- Laravel讀寫分離原理Laravel
- ProxySQL 配置詳解及讀寫分離(+GTID)等功能說明 (完整篇)SQL
- MyCat分庫分表、讀寫分離
- 做資料庫分離讀寫時,sqlServer資料庫資料同步的問題:資料庫SQLServer
- 淺談高效能資料庫叢集——讀寫分離資料庫
- DM8配置讀寫分離叢集V4.0
- 讀寫分離 & 分庫分表 & 深度分頁
- 資料庫中介軟體sharding-jdbc實現讀寫分離資料庫JDBC
- 深度:微服務化的資料庫設計與讀寫分離微服務資料庫
- (7)資料庫讀寫分離,主從同步實現方法(資料庫設定)資料庫主從同步
- MySQL 高可用架構:主從備份及讀寫分離MySql架構
- StoneDB 讀寫分離實踐方案
- MySQL 讀寫分離的好處MySql
- mysql優化之讀寫分離MySql優化