当前位置:   article > 正文

sharding-jdbc配置分析Configuration

shardingjdbcconfig

Sharding核心配置主要如下(官网):

  • 分片规则

    分片规则配置的总入口。包含数据源配置、表配置、绑定表配置以及读写分离配置等

  • 数据源配置

    真实数据源列表

  • 表配置

    逻辑表名称、数据节点与分表规则的配置

  • 数据节点配置

    用于配置逻辑表与真实表的映射关系。可分为均匀分布和自定义分布两种形式

  • 分片策略配置

    对于分片策略存有数据源分片策略和表分片策略两种维度

    • 数据源分片策略:

      对应于DatabaseShardingStrategy。用于配置数据被分配的目标数据源

    • 表分片策略
      对应于TableShardingStrategy。用于配置数据被分配的目标表,该目标表存在与该数据的目标数据源内。故表分片策略是依赖与数据源分片策略的结果的
  • 自增主键生成策略

    通过在客户端生成自增主键替换以数据库原生自增主键的方式,做到分布式主键无重复。

 

接下来对各个核心配置进行分析:

  1. 以多主多从读写分离、表分片为例
    1. public final class ShardingMasterSlaveConfigurationPrecise implements ExampleConfiguration {
    2. @Override
    3. public DataSource getDataSource() throws SQLException {
    4. ShardingRuleConfiguration shardingRuleConfig = new ShardingRuleConfiguration();
    5. //分片表规则配置
    6. shardingRuleConfig.getTableRuleConfigs().add(getOrderTableRuleConfiguration());
    7. shardingRuleConfig.getTableRuleConfigs().add(getOrderItemTableRuleConfiguration());
    8. //绑定分片表,主要用来路由
    9. shardingRuleConfig.getBindingTableGroups().add("t_order, t_order_item");
    10. //设置默认数据源分片策略
    11. shardingRuleConfig.setDefaultDatabaseShardingStrategyConfig(new StandardShardingStrategyConfiguration("user_id", new PreciseModuloShardingDatabaseAlgorithm()));
    12. //设置默认表分片策略
    13. shardingRuleConfig.setDefaultTableShardingStrategyConfig(new StandardShardingStrategyConfiguration("order_id", new PreciseModuloShardingTableAlgorithm()));
    14. //主从配置,支持多主多从
    15. shardingRuleConfig.setMasterSlaveRuleConfigs(getMasterSlaveRuleConfigurations());
    16. //创建ShardingDataSource数据源
    17. return ShardingDataSourceFactory.createDataSource(createDataSourceMap(), shardingRuleConfig, new Properties());
    18. }
    19. private static TableRuleCo
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/756668
推荐阅读
相关标签
  

闽ICP备14008679号