tack(a) choose choose firstn {num} type {bucket-type} chooseleaf firstn {num} type {bucket-type} if {num} == 0, choose pool-num-replicas buckets (all available). if {num} > 0 && < pool-num-replicas, choose that many buckets. if {num} < 0, it means pool-num-replicas - {num}. emit
ruleset_id | choose num | chooseleaf_num | 结论 |
---|---|---|---|
0 | firstn 0 type pod | firstn 0 type rack | pg三个副本分布: - 同一个pod下 - 不同rack下 |
1 | firstn 1 type pod | firstn 0 type rack | pg三个副本分布: - 同一个pod下 - 不同rack下 |
2 | firstn 2 type pod | firstn 0 type rack | pg三个副本分布: - 同一个pod下 - 不同rack下 |
3 | firstn 3 type pod | firstn 0 type rack | pg三个副本分布: - 同一个pod下 - 不同rack下 |
4 | firstn 4 type pod | firstn 0 type rack | pg三个副本分布: - 同一个pod下 - 不同rack下 |
5 | firstn 1 type pod | firstn 1 type rack | pg三个副本分布: - 同一个pod下 - 不同rack下 |
6 | firstn 1 type pod | firstn 2 type rack | pg三个副本分布: - 同一个pod下 - 不同rack下 |
7 | firstn 1 type pod | firstn 3 type rack | pg三个副本分布: - 同一个pod下 - 不同rack下 |
8 | firstn 1 type pod | firstn 4 type rack | pg三个副本分布: - 同一个pod下 - 不同rack下 |
9 | firstn 0 type pod | pg三个副本分布: - 不同pod下 | |
10 | firstn 0 type rack | pg三个副本分布: - 不同rack下 |