{ "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 } ] }
惟一性區分數據存儲節點json
處在同一個分區的存儲節點其存儲的數據互不相同,換句話說同一個分區內的存儲節點平分放置全部數據分片。同一個隔離分組中的數據幾點之間不會出現冗餘數據。
這個功能主要用於高可用,最典型的應用場景,同一個機架或者機房的數據節點會被放置到一個隔離分組中,放置由於機架或者機房斷電致使的不可用。固然也可活用在雲環境上ide
這個是etcd中的概念,和consul中的datacenter概念相同3d
分片分配權重,整數,一個隔離分組中權重大的存儲節點將會被分配存儲更多的分片。若是不一樣磁盤容量的機器混布存儲節點的話,那麼磁盤大的權重能夠比其餘節點高。一樣配置機器的場景下,全部節點的權重保持相同的整數便可code
例如:250.250.250.250:250,對這個數據節點的數據請求將被路由到這個地址路由
數據節點的主機名或者IPit
數據節點監聽數據請求的端口。默認9000io