M3DB存储配置

{
    "num_shards": 1024,
    "replication_factor": 3,
    "instances": [
        {
            "id": "m3db001",
            "isolation_group": "us-east1-a",
            "zone": "embedded",
            "weight": 100,
            "endpoint": "10.142.0.1:9000",
            "hostname": "m3db001",
            "port": 9000
        },
        {
            "id": "m3db002",
            "isolation_group": "us-east1-b",
            "zone": "embedded",
            "weight": 100,
            "endpoint": "10.142.0.2:9000",
            "hostname": "m3db002-us-east",
            "port": 9000
        },
        {
            "id": "m3db003",
            "isolation_group": "us-east1-c",
            "zone": "embedded",
            "weight": 100,
            "endpoint": "10.142.0.3:9000",
            "hostname": "m3db003",
            "port": 9000
        }
    ]
}

ID

唯一性区分数据存储节点

Isolation Group 隔离分组

处在同一个分区的存储节点其存储的数据互不相同,换句话说同一个分区内的存储节点平分放置所有数据分片。同一个隔离分组中的数据几点之间不会出现冗余数据。
这个功能主要用于高可用,最典型的应用场景,同一个机架或者机房的数据节点会被放置到一个隔离分组中,放置因为机架或者机房断电导致的不可用。当然也可活用在云环境上

Zone 元数据存放区域

这个是etcd中的概念,和consul中的datacenter概念相同

Weight 数据分片权重

分片分配权重,整数,一个隔离分组中权重大的存储节点将会被分配存储更多的分片。如果不同磁盘容量的机器混布存储节点的话,那么磁盘大的权重可以比其他节点高。同样配置机器的场景下,所有节点的权重保持相同的整数即可

Endpoint 数据节点地址

例如:250.250.250.250:250,对这个数据节点的数据请求将被路由到这个地址

Hostname 主机名

数据节点的主机名或者IP

Port 端口

数据节点监听数据请求的端口。默认9000