shareding jdbc 分库分表的配置

shareding jdbc 分库分表的配置

shareding jdbc 的配置方式有3种:
1、通过java代码配置,也就是在代码中设置加载数据源,设置分片规则。
2、通过spring配置文件配置。
3、通过yml文件配置。
今天来分享的是yml的配置:

dataSources:#数据源配置,可配置多个data_source_name
 : # `!!`表示实例化该类
 driverClassName: #数据库驱动类名
 url: #数据库url连接
 username: #数据库用户名
password: #数据库密码
# ... 数据库连接池的其它属性
shardingRule:
tables: #数据分片规则配置,可配置多个logic_table_name
  : #逻辑表名称
  actualDataNodes: #由数据源名 + 表名组成,以小数点分隔。多个表以逗号分隔,支持inline表达式。缺  省表示使用已知数据源与逻辑表名称生成数据节点。用于广播表(即每个库中都需要一个同样的表用于关联查询,多为字典表)或只分库不分表且所有库的表结构完全一致的情况
    
databaseStrategy: #分库策略,缺省表示使用默认分库策略,以下的分片策略只能选其一
    standard: #用于单分片键的标准分片场景
      shardingColumn: #分片列名称
      preciseAlgorithmClassName: #精确分片算法类名称,用于=和IN。。该类需实现PreciseShardingAlgorithm接口并提供无参数的构造器
      rangeAlgorithmClassName: #范围分片算法类名称,用于BETWEEN,可选。。该类需实现RangeShardingAlgorithm接口并提供无参数的构造器
      complex: #用于多分片键的复合分片场景
      shardingColumns: #分片列名称,多个列以逗号分隔
      algorithmClassName: #复合分片算法类名称。该类需实现ComplexKeysShardingAlgorithm接口并提供无参数的构造器
    inline: #行表达式分片策略
      shardingColumn: #分片列名称
      algorithmInlineExpression: #分片算法行表达式,需符合groovy语法
    hint: #Hint分片策略
      algorithmClassName: #Hint分片算法类名称。该类需实现HintShardingAlgorithm接口并提供无参数的构造器
    none: #不分片
  tableStrategy: #分表策略,同分库策略
    
  keyGeneratorColumnName: #自增列名称,缺省表示不使用自增主键生成器
  keyGeneratorClassName: #自增列值生成器类名称。该类需实现KeyGenerator接口并提供无参数的构造器
    
  logicIndex: #逻辑索引名称,对于分表的Oracle/PostgreSQL数据库中DROP INDEX XXX语句,需要通过配置逻辑索引名称定位所执行SQL的真实分表
bindingTables: #绑定表规则列表
 -   
  - 
- 
         defaultDataSourceName: #未配置分片规则的表将通过默认数据源定位  
 defaultDatabaseStrategy: #默认数据库分片策略,同分库策略
 defaultTableStrategy: #默认表分片策略,同分库策略
 defaultKeyGeneratorClassName: #默认自增列值生成器类名称,缺省使用io.shardingsphere.core.keygen.DefaultKeyGenerator。该类需实现KeyGenerator接口并提供无参数的构造器
 
 masterSlaveRules: #读写分离规则,详见读写分离部分
   : #数据源名称,需要与真实数据源匹配,可配置多个data_source_name
     masterDataSourceName: #详见读写分离部分
     slaveDataSourceNames: #详见读写分离部分
     loadBalanceAlgorithmClassName: #详见读写分离部分
     loadBalanceAlgorithmType: #详见读写分离部分
     configMap: #用户自定义配置
         key1: value1
                   key2: value2
      keyx: valuex

 props: #属性配置
sql.show: #是否开启SQL显示,默认值: false
executor.size: #工作线程数量,默认值: CPU核数

configMap: #用户自定义配置
key1: value1
key2: value2
keyx: valuex

你可能感兴趣的:(shareding jdbc 分库分表的配置)