当前位置:   article > 正文

SpringBoot 整合 Sharding-Sphere + Druid 读写分离_sharding-sphere 整合 springboot druid

sharding-sphere 整合 springboot druid

Sharding-Sphere 文档地址:https://shardingsphere.apache.org/document/current/cn/manual/sharding-jdbc/configuration/config-yaml/#%E8%AF%BB%E5%86%99%E5%88%86%E7%A6%BB-1

Maven依赖

  1. <!--shardingsphere start-->
  2. <!-- for spring boot -->
  3. <dependency>
  4. <groupId>io.shardingsphere</groupId>
  5. <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
  6. <version>3.1.0</version>
  7. </dependency>
  8. <!-- for spring namespace -->
  9. <dependency>
  10. <groupId>io.shardingsphere</groupId>
  11. <artifactId>sharding-jdbc-spring-namespace</artifactId>
  12. <version>3.1.0</version>
  13. </dependency>
  14. <!--shardingsphere end-->

读写分离properties(默认连接池)

  1. # 配置真实数据源
  2. sharding.jdbc.datasource.names=master1,slave0
  3. # 主数据库
  4. sharding.jdbc.datasource.master1.type=com.zaxxer.hikari.HikariDataSource
  5. sharding.jdbc.datasource.master1.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
  6. sharding.jdbc.datasource.master1.jdbc-url=jdbc:mysql://localhost:3306/master1?characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai
  7. sharding.jdbc.datasource.master1.username=root
  8. sharding.jdbc.datasource.master1.password=123456
  9. # 从数据库
  10. sharding.jdbc.datasource.slave0.type=com.zaxxer.hikari.HikariDataSource
  11. sharding.jdbc.datasource.slave0.hikari.driver-class-name=com.mysql.cj.jdbc.Driver
  12. sharding.jdbc.datasource.slave0.jdbc-url=jdbc:mysql://localhost:3306/slave0?characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai
  13. sharding.jdbc.datasource.slave0.username=root
  14. sharding.jdbc.datasource.slave0.password=123456
  15. # 配置读写分离
  16. # 配置从库选择策略,提供轮询与随机,这里选择用轮询
  17. sharding.jdbc.config.masterslave.load-balance-algorithm-type=round_robin
  18. sharding.jdbc.config.masterslave.name=ms
  19. sharding.jdbc.config.masterslave.master-data-source-name=master1
  20. sharding.jdbc.config.masterslave.slave-data-source-names=slave0
  21. # 开启SQL显示,默认值: false,注意:仅配置读写分离时不会打印日志
  22. sharding.jdbc.config.props.sql.show=true
  23. #设置为true,表示后发现的bean会覆盖之前相同名称的bean。
  24. spring.main.allow-bean-definition-overriding=true

 读写分离yaml(默认连接池)

  1. sharding:
  2. jdbc:
  3. datasource:
  4. names: master1,salve0 #主从数据源
  5. master1:
  6. type: com.zaxxer.hikari.HikariDataSource
  7. hikari:
  8. driver-class-name: com.mysql.cj.jdbc.Driver #数据库新的驱动,下面连接url一定要加区时
  9. jdbc-url: jdbc:mysql://localhost:3306/master1?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
  10. username: root
  11. password: 123456
  12. salve0:
  13. type: com.zaxxer.hikari.HikariDataSource
  14. hikari:
  15. driver-class-name: com.mysql.cj.jdbc.Driver
  16. jdbc-url: jdbc:mysql://localhost:3306/salve0?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
  17. username: root
  18. password: 123456
  19. config: #读写分离配置
  20. masterslave:
  21. master-data-source-name: master1 #主数据库配置
  22. slave-data-source-names: salve0 #从数据库配置
  23. load-balance-algorithm-type: round_robin # 提供轮询与随机(random),这里选择用轮询,
  24. name: ms
  25. props:
  26. sql:
  27. show: true #打印sql日志
  28. spring:
  29. main:
  30. allow-bean-definition-overriding: true #设置为true,表示后发现的bean会覆盖之前相同名称的bean。
  31. application:
  32. name: sharing-sphere-server2

Druid连接池 读写分离properties

  1. # ++++++++++++++++++ shardingsphere【START++++++++++++++++++
  2. # 配置数据源 分别是 主数据库1个 从数据库1
  3. sharding.jdbc.datasource.names=master0,master0slave0
  4. # 主第一个数据库
  5. sharding.jdbc.datasource.master1.type=com.alibaba.druid.pool.DruidDataSource
  6. sharding.jdbc.datasource.master1.driver-class-name=com.mysql.jdbc.Driver
  7. sharding.jdbc.datasource.master1.url=jdbc:mysql://localhost:3306/master1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true
  8. sharding.jdbc.datasource.master0.username=root
  9. sharding.jdbc.datasource.master0.password=XXXX
  10. # 从第一个数据库
  11. sharding.jdbc.datasource.slave0.type=com.alibaba.druid.pool.DruidDataSource
  12. sharding.jdbc.datasource.slave0.driver-class-name=com.mysql.jdbc.Driver
  13. sharding.jdbc.datasource.slave0.url=jdbc:mysql://localhost:3306/slave0?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true
  14. sharding.jdbc.datasource.master0slave0.username=root
  15. sharding.jdbc.datasource.master0slave0.password=XXXX
  16. # 读写分离配置
  17. # 从库的读取规则为round_robin(轮询策略),除了轮询策略,还有支持random(随机策略)
  18. sharding.jdbc.config.masterslave.load-balance-algorithm-type=round_robin
  19. # 逻辑主从库名和实际主从库映射关系
  20. # 主数据库0
  21. sharding.jdbc.config.sharding.master-slave-rules.sdkcms.master-data-source-name=master1
  22. # 从数据库0
  23. sharding.jdbc.config.sharding.master-slave-rules.sdkcms.slave-data-source-names=slave0

Druid连接池 读写分离yaml

  1. sharding:
  2. jdbc:
  3. datasource:
  4. names: master1,salve0 #主从数据源
  5. master1:
  6. type: com.alibaba.druid.pool.DruidDataSource
  7. driver-class-name: com.mysql.jdbc.Driver #数据库新的驱动,下面连接url一定要加区时
  8. url: jdbc:mysql://localhost:3306/master1?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true
  9. username: root
  10. password: 123456
  11. salve0:
  12. type: com.alibaba.druid.pool.DruidDataSource
  13. driver-class-name: com.mysql.jdbc.Driver
  14. url: jdbc:mysql://localhost:3306/salve0?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true
  15. username: root
  16. password: 123456
  17. config: #读写分离配置
  18. masterslave:
  19. master-data-source-name: master1 #主数据库配置
  20. slave-data-source-names: salve0 #从数据库配置(多个以逗号隔开)
  21. load-balance-algorithm-type: round_robin # 提供轮询与随机(random),这里选择用轮询,
  22. name: ms
  23. props:
  24. sql:
  25. show: true #打印sql日志

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/756878
推荐阅读
相关标签
  

闽ICP备14008679号