Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IntShardID ¶
IntShardID is a numeric unique identifier that includes shard information
func BuildIntShardID ¶
func BuildIntShardID(shardID, typeID, localID int64) IntShardID
BuildIntShardID builds an integer ID
func ParseIntShardID ¶
func ParseIntShardID(id int64) IntShardID
ParseIntShardID parses an intID into a ShardID object
type ShardID ¶ added in v1.6.0
type ShardID struct {
// contains filtered or unexported fields
}
func NewShardID ¶ added in v1.6.0
func NewShardIDFromID ¶ added in v1.6.0
type Sharder ¶ added in v1.6.0
type Sharder struct {
// contains filtered or unexported fields
}
func NewSharder ¶ added in v1.6.0
func (*Sharder) CurrentShardID ¶ added in v1.6.0
func (*Sharder) NewFromSubID ¶ added in v1.6.0
NewFromSubID returns a new ShardID based on some other value (subID) that is taken into account when generating the destination shard Allows for distribution of entries across shards to be dependent on some other value Usage:
// This would group blog entries into shards based on createdByUserID blogEntryID := s.NewFromSubID(createdByUserID) blogEntryID2 := s.NewFromSubID(createdByUserID) // Same shard as line above
func (*Sharder) NewRoundRobin ¶ added in v1.6.0
NewRoundRobin returns a new ShardID based on an incrementing sequence integer mod the number of shards Allows for an equal distribution of entries across shards
func (*Sharder) NumberOfShards ¶ added in v1.6.0
Click to show internal directories.
Click to hide internal directories.