本文共 2712 字,大约阅读时间需要 9 分钟。
主数据库:userdb_master
从数据库:userdb_slave0,userdb_slave1
数据库各有一个表user
shardingsphere版本:4.0.0-RC3
实验没有实现数据库的主从同步,只是建了数据库叫从库。
在userdb_master,userdb_slave0,userdb_slave1各建立一张表user
CREATE TABLE `user` ( `id` bigint(255) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `uid` varchar(255) DEFAULT NULL, `school` varchar(255) DEFAULT NULL, `age` int(11) DEFAULT NULL, PRIMARY KEY (`id`))
org.apache.shardingsphere sharding-jdbc-spring-boot-starter 4.0.0-RC3 org.apache.shardingsphere sharding-jdbc-spring-namespace 4.0.0-RC3
#读写分离配置,即一主多从方式配置debug=falseserver.port=8082server.servlet.context-path=spring.jackson.serialization.INDENT_OUTPUT=truespring.profiles.active=#spring.main.allow-bean-definition-overriding=truespring.shardingsphere.datasource.names=db-master-user,db-slave-user,db-slave1-userspring.shardingsphere.datasource.db-master-user.type=com.zaxxer.hikari.HikariDataSourcespring.shardingsphere.datasource.db-master-user.driver-class-name=com.mysql.jdbc.Driverspring.shardingsphere.datasource.db-master-user.jdbc-url=jdbc:mysql://youripaddress:3306/userdb_master?characterEncoding=utf-8&serverTimezone=UTCspring.shardingsphere.datasource.db-master-user.username=spring.shardingsphere.datasource.db-master-user.password=spring.shardingsphere.datasource.db-slave-user.type=com.zaxxer.hikari.HikariDataSourcespring.shardingsphere.datasource.db-slave-user.driver-class-name=com.mysql.jdbc.Driverspring.shardingsphere.datasource.db-slave-user.jdbc-url=jdbc:mysql://youripaddress:3306/userdb_slave0?characterEncoding=utf-8&serverTimezone=UTCspring.shardingsphere.datasource.db-slave-user.username=spring.shardingsphere.datasource.db-slave-user.password=spring.shardingsphere.datasource.db-slave1-user.type=com.zaxxer.hikari.HikariDataSourcespring.shardingsphere.datasource.db-slave1-user.driver-class-name=com.mysql.jdbc.Driverspring.shardingsphere.datasource.db-slave1-user.jdbc-url=jdbc:mysql://youripaddress:3306/userdb_slave1?characterEncoding=utf-8&serverTimezone=UTCspring.shardingsphere.datasource.db-slave1-user.username=spring.shardingsphere.datasource.db-slave1-user.password=spring.shardingsphere.masterslave.load-balance-algorithm-type=round_robinspring.shardingsphere.masterslave.name=ds_msspring.shardingsphere.masterslave.master-data-source-name=db-master-userspring.shardingsphere.masterslave.slave-data-source-names=db-slave-user,db-slave1-user
到此配置就完毕了。
自己实现user表的增删改查。
验证的时候,通过代码增加一条数据,发现数据插入主库中。
查询数据的时候,需要自己手动往从库查几条数据做验证,发现代码查询的时候,会轮询去查两个从库。
到此验证完毕。
转载地址:http://vcuh.baihongyu.com/