chore[loadbalancer]: rename cached consistent hash loadbalancer

This commit is contained in:
godotg committed 2024-01-13 14:56:26 +08:00
1 parent 82782d71ea
commit fb340d71f7
4 files changed
+17 -17

No files matched your search

@@ -24,13 +24,13 @@ public abstract class AbstractConsumerLoadBalancer implements IConsumerLoadBalan
AbstractConsumerLoadBalancer balancer; AbstractConsumerLoadBalancer balancer;
switch (loadBalancer) { switch (loadBalancer) {
case "random": case "random":
balancer = RandomConsumerLoadBalancer.getInstance(); balancer = RandomLoadBalancer.getInstance();
break; break;
case "consistent-hash": case "consistent-hash":
balancer = ConsistentHashConsumerLoadBalancer.getInstance(); balancer = ConsistentHashLoadBalancer.getInstance();
break; break;
case "consistent-hash-of-memory": case "cached-consistent-hash":
balancer = ConsistentHashOfMemoryConsumerLoadBalancer.getInstance(); balancer = CachedConsistentHashLoadBalancer.getInstance();
break; break;
default: default:
throw new RuntimeException(StringUtils.format("Load balancer is not recognized[{}]", loadBalancer)); throw new RuntimeException(StringUtils.format("Load balancer is not recognized[{}]", loadBalancer));
@@ -13,19 +13,19 @@ import java.util.Map;
* @author qmr * @author qmr
* @date 2024/1/6 * @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 * 存储已经负载后的sid
*/ */
private static final AtomicLongMap<Long> uid2sidMap = AtomicLongMap.create(); private static final AtomicLongMap<Long> uid2sidMap = AtomicLongMap.create();
private ConsistentHashOfMemoryConsumerLoadBalancer() { private CachedConsistentHashLoadBalancer() {
} }
public static ConsistentHashOfMemoryConsumerLoadBalancer getInstance() { public static CachedConsistentHashLoadBalancer getInstance() {
return INSTANCE; return INSTANCE;
} }
@@ -36,18 +36,18 @@ import java.util.concurrent.atomic.AtomicReferenceArray;
* *
* @author godotg * @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 volatile int lastClientSessionChangeId = 0;
private static final AtomicReferenceArray<FastTreeMapIntLong> consistentHashMap = new AtomicReferenceArray<>(ProtocolManager.MAX_MODULE_NUM); private static final AtomicReferenceArray<FastTreeMapIntLong> consistentHashMap = new AtomicReferenceArray<>(ProtocolManager.MAX_MODULE_NUM);
private static final int VIRTUAL_NODE_NUMS = 200; private static final int VIRTUAL_NODE_NUMS = 200;
public ConsistentHashConsumerLoadBalancer() { public ConsistentHashLoadBalancer() {
} }
public static ConsistentHashConsumerLoadBalancer getInstance() { public static ConsistentHashLoadBalancer getInstance() {
return INSTANCE; return INSTANCE;
} }
@@ -61,7 +61,7 @@ public class ConsistentHashConsumerLoadBalancer extends AbstractConsumerLoadBala
@Override @Override
public Session selectProvider(List<Session> providers, Object packet, Object argument) { public Session selectProvider(List<Session> providers, Object packet, Object argument) {
if (argument == null) { if (argument == null) {
return RandomConsumerLoadBalancer.getInstance().selectProvider(providers, packet, argument); return RandomLoadBalancer.getInstance().selectProvider(providers, packet, argument);
} }
updateConsistentHashMap(providers); updateConsistentHashMap(providers);
@@ -23,14 +23,14 @@ import java.util.List;
* *
* @author godotg * @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; return INSTANCE;
} }