作者 crossoverJie

:sparkles: Introducing new features.两种一致性hash 算法+轮询

... ... @@ -11,5 +11,10 @@ import java.util.List;
*/
public interface RouteHandle {
String selectServer(List<String> values) ;
/**
* 再一批服务器里进行路由
* @param values
* @return
*/
String routeServer(List<String> values) ;
}
... ...
... ... @@ -17,7 +17,7 @@ public class ConsistentHashHandle implements RouteHandle {
@Override
public String selectServer(List<String> values) {
public String routeServer(List<String> values) {
return null;
}
}
... ...
... ... @@ -16,7 +16,7 @@ public class LoopHandle implements RouteHandle {
private AtomicLong index = new AtomicLong();
@Override
public String selectServer(List<String> values) {
public String routeServer(List<String> values) {
if (values.size() == 0) {
throw new RuntimeException("CIM 服务器可用服务列表为空");
}
... ...
... ... @@ -151,7 +151,7 @@ public class RouteController {
StatusEnum status = accountService.login(loginReqVO);
if (status == StatusEnum.SUCCESS) {
String server = routeHandle.selectServer(serverCache.getAll());
String server = routeHandle.routeServer(serverCache.getAll());
String[] serverInfo = server.split(":");
CIMServerResVO vo = new CIMServerResVO(serverInfo[0], Integer.parseInt(serverInfo[1]),Integer.parseInt(serverInfo[2]));
... ...