Skip to content

json配置部分参数说明

diyidihalazi edited this page Apr 11, 2018 · 3 revisions

groups

  • 关于groups的配置如下所示:
"groups":[
  {   
    "name":"group-1",  
    "master":"X.X.X.X:XX",  
    "slaves":[  
      {   
        "name":"slave1",
        "ips":[ "X.X.X.X:XX@1" ]
      },  
      {   
        "name":"slave2",
        "ips":[ 
          "X.X.X.X:XX@1", 
          "X.X.X.X:XX@1" 
        ]
      }   
    ]   
  },  
  {   
    "name":"group-2",
    "master":"X.X.X.X:XX",
    "slaves":[
      {   
        "name":"slave1",
        "ips":[
          "X.X.X.X:XX@5",
          "X.X.X.X:XX@5"
        ]
      }
    ]
  }
]
  • 一个主从结构为一个group,“master”为主库的IP,一个主从结构中可以包含多个slave,这多个slave可以分成多组slave1,slave2,这样就可以在sql中添加/* slave1 */来将sql发往指定的slave组,slave ip后的@1表明的是该slave的权重,用于负载均衡。
  • 如果只需要使用非分布式版本的功能的话,只需要在groups中添加一个group即可。

schema

  • 关于schema的配置如下所示:
"schema":{
  "groups":[ "group-1", "group-2"],
  "default":"group-1",
  "global":[
    {
      "db":"atlase_test",
      "table": "lc",
      "groups": ["group-1", "group-2"]
    },
    {
      "db":"atlase_test",
      "table": "lc1",
      "groups": ["group-1", "group-2"]
    },  
  ],
  "sharding-rule":[
    {
      "db":"atlase_test",
      "table":"machine_rack_info",
      "sharding-key":"idx",
      "primary-key":"id",
      "policy":[
        "group-1:-2000",
        "group-2:2001-"
      ],
      "type":"range",
      "autoIncrement":true
    },
    {
      "db":"atlase_test",
      "table":"machine_rack_info_bak",
      "sharding-key":"id",
      "primary-key":"id",
      "policy":[
        "group-1",
        "group-2"
      ],
      "type":"hash",
      "autoIncrement":true
    }
  ]
}
  • schema中的groups与上面的groups相对应,global为广播表,意味着这张表需要写入到多个group中。sharding-rule指明了某些表的sharding规则,sharding规则分为两种,range和hash。autoIncreament指明了primiary-key是否是自增的,如果是自增的,那么atlas会自动生成primary-key并添加到sql中。
  • 如果只是用非分布式版本的话,global和sharding-rule都为空。