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