当前位置: 首页 > news >正文

shardingsphere读写分离配置

注:

如果是升级之前的单库单表,要将之前的 数据库接池 druid-spring-boot-starter 注释掉,换成 druid,否则无法连接数据库。

原因:

  1. 因为数据连接池的starter(比如druid)可能会先加载并且其创建一个默认数据源,这将会使得sharding-jdbc创建数据源时发生冲突。
  2. 解决办法为,去掉数据连接池的starter即可,sharing-jdbc自己会创建数据连接池。

即:

<!-- Druid 连接池 -->
<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><version>1.2.16</version>
</dependency>

改成:

<dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>1.2.16</version>
</dependency>

另:数据库驱动类型如果不是用druid,也可以用zaxxer,这样引入的maven包是:

<dependency><groupId>com.zaxxer</groupId><artifactId>HikariCP</artifactId><version>${hikaricp.version}</version>
</dependency>

读写分离yaml配置

spring#读写分离配置shardingsphere:#数据源配置,可配置多个data_source_namedatasource:#names: ds1,ds2,ds3names: master,slave1,slave2#master ds1数据库连接信息master:#数据库驱动类型#type: com.zaxxer.hikari.HikariDataSourcetype: com.alibaba.druid.pool.DruidDataSource#数据库驱动类名driver-class-name: com.mysql.cj.jdbc.Driver#数据库url连接url: jdbc:mysql://47.99.110.140:3306/jpay?useUnicode=true#数据库用户名username: root#数据库密码password: root@2022maxPoolSize: 100minPoolSize: 5#slave1 ds2数据库连接信息slave1:#数据库驱动类型#        type: com.zaxxer.hikari.HikariDataSourcetype: com.alibaba.druid.pool.DruidDataSource#数据库驱动类名driver-class-name: com.mysql.cj.jdbc.Driver#数据库url连接url: jdbc:mysql://47.99.110.141:3306/jpay?useUnicode=true#数据库用户名username: root#数据库密码password: root@2022maxPoolSize: 100minPoolSize: 5#slave2 ds3数据库连接信息slave2:#数据库驱动类型
#        type: com.zaxxer.hikari.HikariDataSourcetype: com.alibaba.druid.pool.DruidDataSource#数据库驱动类名driver-class-name: com.mysql.cj.jdbc.Driver#数据库url连接url: jdbc:mysql://47.99.110.142:3306/jpay?useUnicode=true#数据库用户名username: root#数据库密码password: root@2022maxPoolSize: 100minPoolSize: 5mode:# 内存模式,元数据保存在当前进程中type: Memory#属性配置props:sql:#是否开启SQL显示,默认值: falseshow: true#读写分离规则masterSlaveRule:#读写分离数据源名称name: ms#主库数据源名称master-data-source-name: master#从库数据源名称列表slave-data-source-names: slave1,slave2#从库负载均衡算法类型,可选值:ROUND_ROBIN,RANDOM。若`loadBalanceAlgorithmClassName`存在则忽略该配置loadBalanceAlgorithmType: ROUND_ROBIN#读写分离负载算法的属性配置
#        props:sharding:#配置默认数据源ds1 默认数据源,主要用于写default-data-source-name: masterrules:readwrite-splitting: # 读写分离规则data-sources: # 数据源配置random: # 这个名字随便起type: Static                               # 静态类型load-balancer-name: round_robin            # 负载均衡算法名字props:write-data-source-name: master           # 写数据源read-data-source-names: slave1,slave2    # 读数据源load-balancers: # 负载均衡配置round_robin: # 跟上面负载均衡算法的名字对应type: round_robin

注:把以上的ip , 用户名,账号,密码 改成你的即可。

http://www.lryc.cn/news/100964.html

相关文章:

  • 登录报错 “msg“:“Request method ‘GET‘ not supported“,“code“:500
  • Python 日期和时间
  • pytorch的发展历史,与其他框架的联系
  • Kibana-elastic--Elastic Stack--ELK Stack
  • Docker复杂命令便捷操作
  • Python中的datetime模块
  • Flutter - 微信朋友圈、十字滑动效果(微博/抖音个人中心效果)
  • MySQL检索数据和排序数据
  • 通过STM32内部ADC将烟雾传感器发送的信号值显示在OLED上
  • ZEPHYR 快速开发指南
  • 【FPGA + 串口】功能完备的串口测试模块,三种模式:自发自收、交叉收发、内源
  • 初步了解预训练语言模型BERT
  • Android Hook系统 Handler 消息实现
  • R语言从入门到精通之【R语言的使用】
  • WPF实战学习笔记29-登录数据绑定,编写登录服务
  • c++函数式编程:统计文件字符串,文件流
  • scp命令----跨服务器传输文件
  • React Dva项目中模仿网络请求数据方法
  • 【云原生】Docker容器命令监控+Prometheus监控平台
  • DBA 职责及日常工作职责
  • 如何利用量化接口进行数据分析和计算?
  • electron-egg 加密报错
  • 循环队列的基本操作(3种处理方式,2种实现方式)
  • react的特点
  • MATLAB实现图像处理:图像识别、去雨、去雾、去噪、去模糊等等(附上20个完整仿真源码)
  • cmake stm32 模板
  • STM32 UDS Bootloader开发-上位机篇-CANoe制作(2)
  • 实例026 随机更换主界面背景
  • PostgreSQL 简洁、使用、正排索引与倒排索引、空间搜索、用户与角色
  • querySubObject(“Cells(int,int)“, j,i)->property(“Value“)读不到数据问题