mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-05-19 17:29:39 +00:00
chore[loadbalancer]: rename cached consistent hash loadbalancer
This commit is contained in:
@@ -24,13 +24,13 @@ public abstract class AbstractConsumerLoadBalancer implements IConsumerLoadBalan
|
||||
AbstractConsumerLoadBalancer balancer;
|
||||
switch (loadBalancer) {
|
||||
case "random":
|
||||
balancer = RandomConsumerLoadBalancer.getInstance();
|
||||
balancer = RandomLoadBalancer.getInstance();
|
||||
break;
|
||||
case "consistent-hash":
|
||||
balancer = ConsistentHashConsumerLoadBalancer.getInstance();
|
||||
balancer = ConsistentHashLoadBalancer.getInstance();
|
||||
break;
|
||||
case "consistent-hash-of-memory":
|
||||
balancer = ConsistentHashOfMemoryConsumerLoadBalancer.getInstance();
|
||||
case "cached-consistent-hash":
|
||||
balancer = CachedConsistentHashLoadBalancer.getInstance();
|
||||
break;
|
||||
default:
|
||||
throw new RuntimeException(StringUtils.format("Load balancer is not recognized[{}]", loadBalancer));
|
||||
|
||||
+4
-4
@@ -13,19 +13,19 @@ import java.util.Map;
|
||||
* @author qmr
|
||||
* @date 2024/1/6
|
||||
*/
|
||||
public class ConsistentHashOfMemoryConsumerLoadBalancer extends ConsistentHashConsumerLoadBalancer {
|
||||
public class CachedConsistentHashLoadBalancer extends ConsistentHashLoadBalancer {
|
||||
|
||||
public static final ConsistentHashOfMemoryConsumerLoadBalancer INSTANCE = new ConsistentHashOfMemoryConsumerLoadBalancer();
|
||||
public static final CachedConsistentHashLoadBalancer INSTANCE = new CachedConsistentHashLoadBalancer();
|
||||
|
||||
/**
|
||||
* 存储已经负载后的sid
|
||||
*/
|
||||
private static final AtomicLongMap<Long> uid2sidMap = AtomicLongMap.create();
|
||||
|
||||
private ConsistentHashOfMemoryConsumerLoadBalancer() {
|
||||
private CachedConsistentHashLoadBalancer() {
|
||||
}
|
||||
|
||||
public static ConsistentHashOfMemoryConsumerLoadBalancer getInstance() {
|
||||
public static CachedConsistentHashLoadBalancer getInstance() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
+5
-5
@@ -36,18 +36,18 @@ import java.util.concurrent.atomic.AtomicReferenceArray;
|
||||
*
|
||||
* @author godotg
|
||||
*/
|
||||
public class ConsistentHashConsumerLoadBalancer extends AbstractConsumerLoadBalancer {
|
||||
public class ConsistentHashLoadBalancer extends AbstractConsumerLoadBalancer {
|
||||
|
||||
public static final ConsistentHashConsumerLoadBalancer INSTANCE = new ConsistentHashConsumerLoadBalancer();
|
||||
public static final ConsistentHashLoadBalancer INSTANCE = new ConsistentHashLoadBalancer();
|
||||
|
||||
private volatile int lastClientSessionChangeId = 0;
|
||||
private static final AtomicReferenceArray<FastTreeMapIntLong> consistentHashMap = new AtomicReferenceArray<>(ProtocolManager.MAX_MODULE_NUM);
|
||||
private static final int VIRTUAL_NODE_NUMS = 200;
|
||||
|
||||
public ConsistentHashConsumerLoadBalancer() {
|
||||
public ConsistentHashLoadBalancer() {
|
||||
}
|
||||
|
||||
public static ConsistentHashConsumerLoadBalancer getInstance() {
|
||||
public static ConsistentHashLoadBalancer getInstance() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
@@ -61,7 +61,7 @@ public class ConsistentHashConsumerLoadBalancer extends AbstractConsumerLoadBala
|
||||
@Override
|
||||
public Session selectProvider(List<Session> providers, Object packet, Object argument) {
|
||||
if (argument == null) {
|
||||
return RandomConsumerLoadBalancer.getInstance().selectProvider(providers, packet, argument);
|
||||
return RandomLoadBalancer.getInstance().selectProvider(providers, packet, argument);
|
||||
}
|
||||
|
||||
updateConsistentHashMap(providers);
|
||||
+4
-4
@@ -23,14 +23,14 @@ import java.util.List;
|
||||
*
|
||||
* @author godotg
|
||||
*/
|
||||
public class RandomConsumerLoadBalancer extends AbstractConsumerLoadBalancer {
|
||||
public class RandomLoadBalancer extends AbstractConsumerLoadBalancer {
|
||||
|
||||
private static final RandomConsumerLoadBalancer INSTANCE = new RandomConsumerLoadBalancer();
|
||||
private static final RandomLoadBalancer INSTANCE = new RandomLoadBalancer();
|
||||
|
||||
private RandomConsumerLoadBalancer() {
|
||||
private RandomLoadBalancer() {
|
||||
}
|
||||
|
||||
public static RandomConsumerLoadBalancer getInstance() {
|
||||
public static RandomLoadBalancer getInstance() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user