1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
package core import "hash/fnv" const DefaultMaxParallelism = 128 func AssignToKeyGroup(key string, maxParallelism int) int { if maxParallelism <= 0 { maxParallelism = DefaultMaxParallelism } // hash h := fnv.New32a() h.Write([]byte(key)) hash := h.Sum32() return int(hash % uint32(maxParallelism)) }