ShardingJdbc:集成ShardingSphere后,像MasterDataTable這樣不需要分庫分表,該怎么實現的一個方案


如題

采用了shardingSphere后,分庫策略,分表策略都可以靈活使用了。

反過來會遇到一個新的問題,比如有個表不需要分庫,也不需要分表,那么該怎么處理呢?

這里就要ShardingStrategy中的none配置了。

下面把配置貼出來:見配置中紅色字體

關鍵點:

   default-data-source-name設置為主庫數據源

  actual-nodes:設置主庫數據源和物理表名

  database-strategy:設置none

  table-strategy:設置none

sharding:
  jdbc:
    datasource:
      names: master0,master0salve0,master0slave1,master1,master1slave0,master1slave1
      master0:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/mcspcsharding0?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8
        username: root
        password: root
      master0salve0:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/mcspcsharding0s0?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8
        username: root
        password: root
      master0slave1:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/mcspcsharding0s1?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8
        username: root
        password: root
      master1:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/mcspcsharding1?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8
        username: root
        password: root
      master1slave0:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/mcspcsharding1s0?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8
        username: root
        password: root
      master1slave1:
        type: com.alibaba.druid.pool.DruidDataSource
        url: jdbc:mysql://localhost:3306/mcspcsharding1s1?useUnicode=true&character_set_server=utf8mb4&useSSL=false&serverTimezone=GMT%2B8
        username: root
        password: root
    config:
      sharding:
        tables:
          mc_member:
            actual-nodes: mcspcsharding$->{0..1}.mc_member$->{0..1}
            database-strategy:
              standard:
                sharding-column: gender
                precise-algorithm-class-name: com.chong.mcspcshardingdbtable.sharding.DbShardingAlgorithm
            table-strategy:
              complex:
                sharding-columns: id
                algorithm-class-name: com.chong.mcspcshardingdbtable.sharding.MemberTblComplexKeySharding
 mc_master: # 主數據放置表,無需分庫分表 actual-nodes: mcspcsharding0.mc_master  # 指定主庫中唯一的表節點
            database-strategy:
              none: # 分片策略為none
                sharding-column: none  # 分片鍵為none
            table-strategy:
              none: # 分片策略為none
                sharding-column: none # 分片鍵為none         binding-tables: mc_member,mc_master default-data-source-name: master0 # 庫分片策略為none時一定要設置默認數據源,否則應用無法啟動 
        master-slave-rules:
          ms0:
            master-data-source-name: master0
            slave-data-source-names: master0salve0,master0slave1
          ms1:
            master-data-source-name: master1
            slave-data-source-names: master1slave0,master1slave1

      props:
        sql:
          show: true

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM