本文整理匯總了Golang中github.com/gholt/ring.Builder.ReplicaCount方法的典型用法代碼示例。如果您正苦於以下問題:Golang Builder.ReplicaCount方法的具體用法?Golang Builder.ReplicaCount怎麽用?Golang Builder.ReplicaCount使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類github.com/gholt/ring.Builder
的用法示例。
在下文中一共展示了Builder.ReplicaCount方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。
示例1: mainCmd
func mainCmd(r ring.Ring, b *ring.Builder) error {
if r != nil {
// TODO:
// Version Info (the value as well as the time translation)
// Number of tier levels
// Replica count
// Indication of how risky the assignments are:
// Replicas not in distinct tiers, nodes
s := r.Stats()
report := [][]string{
[]string{brimtext.ThousandsSep(int64(s.PartitionCount), ","), "Partitions"},
[]string{brimtext.ThousandsSep(int64(s.PartitionBitCount), ","), "Partition Bits"},
[]string{brimtext.ThousandsSep(int64(s.NodeCount), ","), "Nodes"},
[]string{brimtext.ThousandsSep(int64(s.InactiveNodeCount), ","), "Inactive Nodes"},
[]string{brimtext.ThousandsSepU(s.TotalCapacity, ","), "Total Node Capacity"},
[]string{fmt.Sprintf("%.02f%%", s.MaxUnderNodePercentage), fmt.Sprintf("Worst Underweight Node (ID %016x)", s.MaxUnderNodeID)},
[]string{fmt.Sprintf("%.02f%%", s.MaxOverNodePercentage), fmt.Sprintf("Worst Overweight Node (ID %016x)", s.MaxOverNodeID)},
}
reportOpts := brimtext.NewDefaultAlignOptions()
reportOpts.Alignments = []brimtext.Alignment{brimtext.Right, brimtext.Left}
fmt.Print(brimtext.Align(report, reportOpts))
}
if b != nil {
// TODO:
// Inactive node count
// Total capacity
report := [][]string{
[]string{brimtext.ThousandsSep(int64(len(b.Nodes())), ","), "Nodes"},
[]string{brimtext.ThousandsSep(int64(b.ReplicaCount()), ","), "Replicas"},
[]string{brimtext.ThousandsSep(int64(b.PointsAllowed()), ","), "Points Allowed"},
[]string{brimtext.ThousandsSep(int64(b.MaxPartitionBitCount()), ","), "Max Partition Bits"},
[]string{brimtext.ThousandsSep(int64(b.MoveWait()), ","), "Move Wait"},
}
reportOpts := brimtext.NewDefaultAlignOptions()
reportOpts.Alignments = []brimtext.Alignment{brimtext.Right, brimtext.Left}
fmt.Print(brimtext.Align(report, reportOpts))
return nil
}
return nil
}