1. pom.xml 文件引入依赖
代码语言:txt复制<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>29.0-jre</version>
</dependency>
2. java 代码
代码语言:txt复制HashFunction hashFunction = Hashing.sha512();
int buckets = 2; // 要平均分为几份
int hashCode = Hashing.consistentHash(hashFunction.hashString("XXXXXXXXXXXXXX", Charsets.UTF_8), buckets);
// 然后就可以对 buckets 取余, 平均分配
if (hashCode % buckets == 0) {
// XXXXXXX
} else {
// XXXXXXX
}
Guava 的一致性 Hash 算法, 只能保证大概的平均, 不能保证绝对的平均.