mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-16 20:59:07 +00:00
docs: update sharding (#2964)
This commit is contained in:
@@ -24,9 +24,14 @@
|
||||
*/
|
||||
package com.iluwatar.sharding;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
/**
|
||||
* Basic data structure for each tuple stored in data shards.
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class Data {
|
||||
|
||||
private int key;
|
||||
@@ -47,30 +52,6 @@ public class Data {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
public int getKey() {
|
||||
return key;
|
||||
}
|
||||
|
||||
public void setKey(final int key) {
|
||||
this.key = key;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(final String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public DataType getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
public void setType(DataType type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
enum DataType {
|
||||
TYPE_1, TYPE_2, TYPE_3
|
||||
}
|
||||
|
||||
@@ -40,7 +40,7 @@ public class HashShardManager extends ShardManager {
|
||||
var shardId = allocateShard(data);
|
||||
var shard = shardMap.get(shardId);
|
||||
shard.storeData(data);
|
||||
LOGGER.info(data.toString() + " is stored in Shard " + shardId);
|
||||
LOGGER.info(data + " is stored in Shard " + shardId);
|
||||
return shardId;
|
||||
}
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@ package com.iluwatar.sharding;
|
||||
import java.security.SecureRandom;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Random;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
/**
|
||||
@@ -46,7 +45,7 @@ public class LookupShardManager extends ShardManager {
|
||||
lookupMap.put(data.getKey(), shardId);
|
||||
var shard = shardMap.get(shardId);
|
||||
shard.storeData(data);
|
||||
LOGGER.info(data.toString() + " is stored in Shard " + shardId);
|
||||
LOGGER.info(data + " is stored in Shard " + shardId);
|
||||
return shardId;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,7 +38,7 @@ public class RangeShardManager extends ShardManager {
|
||||
var shardId = allocateShard(data);
|
||||
var shard = shardMap.get(shardId);
|
||||
shard.storeData(data);
|
||||
LOGGER.info(data.toString() + " is stored in Shard " + shardId);
|
||||
LOGGER.info(data + " is stored in Shard " + shardId);
|
||||
return shardId;
|
||||
}
|
||||
|
||||
@@ -49,7 +49,6 @@ public class RangeShardManager extends ShardManager {
|
||||
case TYPE_1 -> 1;
|
||||
case TYPE_2 -> 2;
|
||||
case TYPE_3 -> 3;
|
||||
default -> -1;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -26,12 +26,14 @@ package com.iluwatar.sharding;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import lombok.Getter;
|
||||
|
||||
/**
|
||||
* The Shard class stored data in a HashMap.
|
||||
*/
|
||||
public class Shard {
|
||||
|
||||
@Getter
|
||||
private final int id;
|
||||
|
||||
private final Map<Integer, Data> dataStore;
|
||||
@@ -52,9 +54,4 @@ public class Shard {
|
||||
public Data getDataById(final int id) {
|
||||
return dataStore.get(id);
|
||||
}
|
||||
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user