public class ConsistentHashSharding extends Sharding
spofStrategy,用于决定当出现单点故障时如何处理。
created at 15-12-8| 构造器和说明 |
|---|
ConsistentHashSharding(Cluster... clusters) |
ConsistentHashSharding(Cluster cluster) |
ConsistentHashSharding(List<Cluster> clusters) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addCluster(Cluster newCluster,
Cluster prevCluster)
添加一个 Cluster
|
boolean |
clusterFailed(Cluster invalidCluster)
当某个 Cluster 下线(即 Cluster 中的所有的服务器都不可用)时的处理(交给子类实现)
ServerMonitorDaemon 会检查下线的服务器,发现有服务器恢复运作的话,会修改对应的
Cluster 状态为上线
|
Cluster |
getClusterByKey(String key)
根据 key 获取所对应的 Cluster
|
Map<String,Range<Integer>> |
getRangeMap() |
SPOFStrategy |
getSpofStrategy() |
void |
initClusters()
对
Sharding.clusters 进行初始化配置,或执行其他初始化工作 |
void |
removeCluster(String clusterId) |
void |
setSpofStrategy(SPOFStrategy spofStrategy) |
getClusterById, getClusterspublic ConsistentHashSharding(Cluster cluster)
public ConsistentHashSharding(Cluster... clusters)
public SPOFStrategy getSpofStrategy()
public void setSpofStrategy(SPOFStrategy spofStrategy)
public void removeCluster(String clusterId)
public void addCluster(Cluster newCluster, Cluster prevCluster)
newCluster - 要加入的 ClusterprevCluster - 需要被分担负载的 Clusterpublic void initClusters()
ShardingSharding.clusters 进行初始化配置,或执行其他初始化工作initClusters 在类中 Shardingpublic boolean clusterFailed(Cluster invalidCluster)
ShardingclusterFailed 在类中 ShardinginvalidCluster - 下线的 Clusterpublic Cluster getClusterByKey(String key)
ShardinggetClusterByKey 在类中 Shardingkey - 键Copyright © 2020. All rights reserved.