# https://shardingsphere.apache.org/index_zh.html mode: # 运行模式类型。可选配置:内存模式 Memory、单机模式 Standalone、集群模式 Cluster - 目前为单机模式 type: Standalone dataSources: ds_0: dataSourceClassName: com.zaxxer.hikari.HikariDataSource driverClassName: com.mysql.cj.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:13306/xfg_dev_tech_db_00?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC&useSSL=true username: root password: 123456 connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 15 minPoolSize: 5 ds_1: dataSourceClassName: com.zaxxer.hikari.HikariDataSource driverClassName: com.mysql.cj.jdbc.Driver jdbcUrl: jdbc:mysql://127.0.0.1:13306/xfg_dev_tech_db_01?useUnicode=true&characterEncoding=utf8&autoReconnect=true&zeroDateTimeBehavior=convertToNull&serverTimezone=UTC&useSSL=true username: root password: 123456 connectionTimeoutMilliseconds: 30000 idleTimeoutMilliseconds: 60000 maxLifetimeMilliseconds: 1800000 maxPoolSize: 15 minPoolSize: 5 rules: - !SHARDING # 库的路由 defaultDatabaseStrategy: standard: shardingColumn: user_id shardingAlgorithmName: database_inline # 表的路由 tables: user_order: actualDataNodes: ds_$->{0..1}.user_order_$->{0..3} tableStrategy: standard: shardingColumn: user_id shardingAlgorithmName: user_order_inline # 路由算法 shardingAlgorithms: # 库-路由算法 2是两个库,库的数量。库的数量用哈希模2来计算。 database_inline: type: INLINE props: algorithm-expression: ds_$->{Math.abs(user_id.hashCode()) % 2} # 表-路由算法 4是一个库里,表的数量。4 - 1 为了获得 011 这样的二进制值。不推荐 user_order_$->{Math.abs(user_id.hashCode()) % 2} 作为表的路由 user_order_inline: type: INLINE props: algorithm-expression: user_order_$->{(user_id.hashCode() ^ (user_id.hashCode()) >>> 16) & (4 - 1)} props: # 是否在日志中打印 SQL。 # 打印 SQL 可以帮助开发者快速定位系统问题。日志内容包含:逻辑 SQL,真实 SQL 和 SQL 解析结果。 # 如果开启配置,日志将使用 Topic ShardingSphere-SQL,日志级别是 INFO。 false sql-show: true # 是否在日志中打印简单风格的 SQL。false sql-simple: true # 用于设置任务处理线程池的大小。每个 ShardingSphereDataSource 使用一个独立的线程池,同一个 JVM 的不同数据源不共享线程池。 executor-size: 20 # 查询请求在每个数据库实例中所能使用的最大连接数。1 max-connections-size-per-query: 1 # 在程序启动和更新时,是否检查分片元数据的结构一致性。 check-table-metadata-enabled: false # 在程序启动和更新时,是否检查重复表。false check-duplicate-table-enabled: false