一、讀寫分離node
server.port=8084 mybatis.config-location=classpath:META-INF/mybatis-config.xml #數據源名稱集合,對應下面數據源配置的名稱 spring.shardingsphere.datasource.names=master,slave # 主數據源 spring.shardingsphere.datasource.master.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.master.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8 spring.shardingsphere.datasource.master.username=root spring.shardingsphere.datasource.master.password=1234 # 從數據源 spring.shardingsphere.datasource.slave.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.slave.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.slave.url=jdbc:mysql://localhost:3306/ds_1?characterEncoding=utf-8 spring.shardingsphere.datasource.slave.username=root spring.shardingsphere.datasource.slave.password=1234 # 讀寫分離配置 spring.shardingsphere.masterslave.load-balance-algorithm-type=round_robin #最終的數據源名稱 spring.shardingsphere.masterslave.name=dataSource #主庫數據源名稱 spring.shardingsphere.masterslave.master-data-source-name=master #從庫數據源名稱列表,多個逗號分隔 spring.shardingsphere.masterslave.slave-data-source-names=slave # 顯示SQL spring.shardingsphere.props.sql.show=true
二、分庫mysql
server.port=8084 mybatis.config-location=classpath:META-INF/mybatis-config.xml spring.shardingsphere.datasource.names=ds0,ds1 # 數據源 spring.shardingsphere.datasource.ds0.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds0.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8 spring.shardingsphere.datasource.ds0.username=root spring.shardingsphere.datasource.ds0.password=1234 spring.shardingsphere.datasource.ds1.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds1.url=jdbc:mysql://localhost:3306/ds_1?characterEncoding=utf-8 spring.shardingsphere.datasource.ds1.username=root spring.shardingsphere.datasource.ds1.password=1234 # 綁定loudong表所在節點 spring.shardingsphere.sharding.tables.loudong.actual-data-nodes=ds1.loudong # 綁定user表所在節點 spring.shardingsphere.sharding.tables.user.actual-data-nodes=ds0.user spring.shardingsphere.sharding.tables.user.key-generator.column=id spring.shardingsphere.sharding.tables.user.key-generator.type=SNOWFLAKE
三、分表算法
server.port=8084 mybatis.config-location=classpath:META-INF/mybatis-config.xml spring.shardingsphere.datasource.names=master # 數據源 spring.shardingsphere.datasource.master.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.master.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8 spring.shardingsphere.datasource.master.username=root spring.shardingsphere.datasource.master.password=1234 # 分表配置,配置分表信息,這邊用的inline表達式,翻譯過來就是master.user_0,master.user_1,master.user_2,master.user_3 spring.shardingsphere.sharding.tables.user.actual-data-nodes=master.user_${0..3} # 自定義分表算法 #spring.shardingsphere.sharding.tables.user.table-strategy.standard.sharding-column=id #spring.shardingsphere.sharding.tables.user.table-strategy.standard.precise-algorithm-class-name=com.cxytiandi.sharding.algorithm.MyPreciseShardingAlgorithm # inline 表達式 #分表的字段,這邊用id分表 spring.shardingsphere.sharding.tables.user.table-strategy.inline.sharding-column=id #分表算法表達式,需符合groovy語法,配置的表達式就是用id進行取模分片 spring.shardingsphere.sharding.tables.user.table-strategy.inline.algorithm-expression=user_${id.longValue() % 4}
四、分表、讀寫分離spring
server.port=8084 mybatis.config-location=classpath:META-INF/mybatis-config.xml spring.shardingsphere.datasource.names=master,slave # 主數據源 spring.shardingsphere.datasource.master.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.master.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8 spring.shardingsphere.datasource.master.username=root spring.shardingsphere.datasource.master.password=123456 # 從數據源 spring.shardingsphere.datasource.slave.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.slave.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.slave.url=jdbc:mysql://localhost:3306/ds_1?characterEncoding=utf-8 spring.shardingsphere.datasource.slave.username=root spring.shardingsphere.datasource.slave.password=123456 # 分表配置 spring.shardingsphere.sharding.tables.user.actual-data-nodes=ds0.user_${0..3} spring.shardingsphere.sharding.tables.user.table-strategy.inline.sharding-column=id spring.shardingsphere.sharding.tables.user.table-strategy.inline.algorithm-expression=user_${id.longValue() % 4} # 讀寫分離配置 spring.shardingsphere.sharding.master-slave-rules.ds0.master-data-source-name=master spring.shardingsphere.sharding.master-slave-rules.ds0.slave-data-source-names=slave # 顯示SQL spring.shardingsphere.props.sql.show=true
五、分庫、讀寫分離sql
server.port=8084 mybatis.config-location=classpath:META-INF/mybatis-config.xml spring.shardingsphere.datasource.names=ds0,ds0slave,ds1,ds1slave # 數據源 spring.shardingsphere.datasource.ds0.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds0.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8 spring.shardingsphere.datasource.ds0.username=root spring.shardingsphere.datasource.ds0.password=1234 spring.shardingsphere.datasource.ds0slave.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.ds0slave.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds0slave.url=jdbc:mysql://localhost:3306/ds0slave?characterEncoding=utf-8 spring.shardingsphere.datasource.ds0slave.username=root spring.shardingsphere.datasource.ds0slave.password=1234 spring.shardingsphere.datasource.ds1.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds1.url=jdbc:mysql://localhost:3306/ds_1?characterEncoding=utf-8 spring.shardingsphere.datasource.ds1.username=root spring.shardingsphere.datasource.ds1.password=1234 spring.shardingsphere.datasource.ds1slave.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.ds1slave.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds1slave.url=jdbc:mysql://localhost:3306/ds1slave?characterEncoding=utf-8 spring.shardingsphere.datasource.ds1slave.username=root spring.shardingsphere.datasource.ds1slave.password=1234 # 綁定loudong表所在節點 spring.shardingsphere.sharding.tables.loudong.actual-data-nodes=ds1.loudong # 綁定user表所在節點 spring.shardingsphere.sharding.tables.user.actual-data-nodes=ds0.user spring.shardingsphere.sharding.tables.user.key-generator.column=id spring.shardingsphere.sharding.tables.user.key-generator.type=SNOWFLAKE # 讀寫分離 spring.shardingsphere.sharding.master-slave-rules.ds0.master-data-source-name=ds0 spring.shardingsphere.sharding.master-slave-rules.ds0.slave-data-source-names=ds0slave spring.shardingsphere.sharding.master-slave-rules.ds1.master-data-source-name=ds1 spring.shardingsphere.sharding.master-slave-rules.ds1.slave-data-source-names=ds1slave
六、分庫分表express
server.port=8084 mybatis.config-location=classpath:META-INF/mybatis-config.xml spring.shardingsphere.datasource.names=ds0,ds1 # 數據源 spring.shardingsphere.datasource.ds0.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.ds0.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds0.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8 spring.shardingsphere.datasource.ds0.username=root spring.shardingsphere.datasource.ds0.password=1234 spring.shardingsphere.datasource.ds1.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.ds1.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.ds1.url=jdbc:mysql://localhost:3306/ds_1?characterEncoding=utf-8 spring.shardingsphere.datasource.ds1.username=root spring.shardingsphere.datasource.ds1.password=1234 # 分表配置 spring.shardingsphere.sharding.tables.user.actual-data-nodes=ds$->{0..1}.user_$->{0..2} spring.shardingsphere.sharding.tables.user.table-strategy.inline.sharding-column=id spring.shardingsphere.sharding.tables.user.table-strategy.inline.algorithm-expression=user_$->{id % 3} spring.shardingsphere.sharding.tables.user.key-generator.column=id spring.shardingsphere.sharding.tables.user.key-generator.type=SNOWFLAKE # 分庫配置 spring.shardingsphere.sharding.default-database-strategy.inline.sharding-column=id spring.shardingsphere.sharding.default-database-strategy.inline.algorithm-expression=ds$->{id % 2} # 不分庫分表的數據源指定 #spring.shardingsphere.sharding.default-data-source-name=ds0 # 廣播表,每一個節點複製一份,適用於配置類的數據 #spring.shardingsphere.sharding.broadcast-tables=loudong
七、分庫分表、讀寫分離mybatis
server.port=8084 mybatis.config-location=classpath:META-INF/mybatis-config.xml spring.shardingsphere.datasource.names=master0,master0slave,master1,master1slave # 數據源 spring.shardingsphere.datasource.master0.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.master0.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master0.url=jdbc:mysql://localhost:3306/ds_0?characterEncoding=utf-8 spring.shardingsphere.datasource.master0.username=root spring.shardingsphere.datasource.master0.password=1234 spring.shardingsphere.datasource.master0slave.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.master0slave.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master0slave.url=jdbc:mysql://localhost:3306/ds0slave?characterEncoding=utf-8 spring.shardingsphere.datasource.master0slave.username=root spring.shardingsphere.datasource.master0slave.password=1234 spring.shardingsphere.datasource.master1.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.master1.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master1.url=jdbc:mysql://localhost:3306/ds_1?characterEncoding=utf-8 spring.shardingsphere.datasource.master1.username=root spring.shardingsphere.datasource.master1.password=1234 spring.shardingsphere.datasource.master1slave.type=com.alibaba.druid.pool.DruidDataSource spring.shardingsphere.datasource.master1slave.driver-class-name=com.mysql.jdbc.Driver spring.shardingsphere.datasource.master1slave.url=jdbc:mysql://localhost:3306/ds1slave?characterEncoding=utf-8 spring.shardingsphere.datasource.master1slave.username=root spring.shardingsphere.datasource.master1slave.password=1234 # 分表配置 spring.shardingsphere.sharding.tables.user.actual-data-nodes=ds$->{0..1}.user_$->{0..2} spring.shardingsphere.sharding.tables.user.table-strategy.inline.sharding-column=id spring.shardingsphere.sharding.tables.user.table-strategy.inline.algorithm-expression=user_$->{id % 3} spring.shardingsphere.sharding.tables.user.key-generator.column=id spring.shardingsphere.sharding.tables.user.key-generator.type=SNOWFLAKE # 分庫配置 spring.shardingsphere.sharding.default-database-strategy.inline.sharding-column=id spring.shardingsphere.sharding.default-database-strategy.inline.algorithm-expression=ds$->{id % 2} # 不分庫分表的數據源指定 #spring.shardingsphere.sharding.default-data-source-name=ds0 # 廣播表,每一個節點複製一份,適用於配置類的數據 #spring.shardingsphere.sharding.broadcast-tables=loudong # 讀寫分離 spring.shardingsphere.sharding.master-slave-rules.ds0.master-data-source-name=master0 spring.shardingsphere.sharding.master-slave-rules.ds0.slave-data-source-names=master0slave spring.shardingsphere.sharding.master-slave-rules.ds1.master-data-source-name=master1 spring.shardingsphere.sharding.master-slave-rules.ds1.slave-data-source-names=master1slave