mirror of
https://github.com/tiennm99/zfoo.git
synced 2026-10-15 00:18:04 +00:00
chore[loadbalancer]: rename cached consistent hash loadbalancer
This commit is contained in:
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));
|
||||||
|
|||||||
+4
-4
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
+5
-5
@@ -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);
|
||||||
+4
-4
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
Reference in new issue
Block a user