{metricPoints.map((row, index) => {
diff --git a/km-console/packages/layout-clusters-fe/src/pages/index.tsx b/km-console/packages/layout-clusters-fe/src/pages/index.tsx
index 063e2db0..c97da56a 100644
--- a/km-console/packages/layout-clusters-fe/src/pages/index.tsx
+++ b/km-console/packages/layout-clusters-fe/src/pages/index.tsx
@@ -61,7 +61,6 @@ const LayoutContainer = () => {
// 路由前置守卫
const routeBeforeEach = useCallback(
(path: string, permissionNode: string | number) => {
- getLicenseInfo((msg) => licenseEventBus.emit('licenseError', msg));
// 判断进入页面的前置条件是否满足,如果不满足,则展示加载状态
const isClusterNotExist = path.includes(':clusterId') && !global.clusterInfo;
const isNotLoadedPermissions = typeof global.hasPermission !== 'function';
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/cluster/impl/ClusterMetricServiceImpl.java b/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/cluster/impl/ClusterMetricServiceImpl.java
index f1e1cf60..d8c1387f 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/cluster/impl/ClusterMetricServiceImpl.java
+++ b/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/cluster/impl/ClusterMetricServiceImpl.java
@@ -3,12 +3,10 @@ package com.xiaojukeji.know.streaming.km.core.service.cluster.impl;
import com.didiglobal.logi.log.ILog;
import com.didiglobal.logi.log.LogFactory;
import com.google.common.collect.Table;
-import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.dto.metrices.MetricDTO;
import com.xiaojukeji.know.streaming.km.common.bean.dto.metrices.MetricsClusterPhyDTO;
import com.xiaojukeji.know.streaming.km.common.bean.entity.broker.Broker;
import com.xiaojukeji.know.streaming.km.common.bean.entity.cluster.ClusterPhy;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.ClusterBalanceItemState;
import com.xiaojukeji.know.streaming.km.common.bean.entity.kafkacontroller.KafkaController;
import com.xiaojukeji.know.streaming.km.common.bean.entity.metrics.BrokerMetrics;
import com.xiaojukeji.know.streaming.km.common.bean.entity.metrics.ClusterMetrics;
@@ -40,8 +38,6 @@ import com.xiaojukeji.know.streaming.km.core.service.acl.KafkaAclService;
import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerMetricService;
import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerService;
import com.xiaojukeji.know.streaming.km.core.service.cluster.ClusterMetricService;
-import com.xiaojukeji.know.streaming.km.core.service.cluster.ClusterPhyService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceService;
import com.xiaojukeji.know.streaming.km.core.service.group.GroupService;
import com.xiaojukeji.know.streaming.km.core.service.health.state.HealthStateService;
import com.xiaojukeji.know.streaming.km.core.service.job.JobService;
@@ -54,7 +50,6 @@ import com.xiaojukeji.know.streaming.km.persistence.cache.LoadedClusterPhyCache;
import com.xiaojukeji.know.streaming.km.persistence.es.dao.ClusterMetricESDAO;
import com.xiaojukeji.know.streaming.km.persistence.kafka.KafkaAdminZKClient;
import com.xiaojukeji.know.streaming.km.persistence.kafka.KafkaJMXClient;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
import org.apache.kafka.common.TopicPartition;
import org.apache.kafka.common.resource.ResourceType;
import org.springframework.beans.factory.annotation.Autowired;
@@ -72,13 +67,11 @@ import java.util.stream.Collectors;
import static com.xiaojukeji.know.streaming.km.common.bean.entity.metrics.ClusterMetrics.initWithMetrics;
import static com.xiaojukeji.know.streaming.km.common.bean.entity.result.ResultStatus.*;
import static com.xiaojukeji.know.streaming.km.core.service.version.metrics.kafka.TopicMetricVersionItems.*;
-import static com.xiaojukeji.know.streaming.km.core.service.version.metrics.kafka.ClusterMetricVersionItems.*;
/**
* @author didi
*/
-@Service("clusterMetricService")
-@EnterpriseLoadReBalance(all = false)
+@Service
public class ClusterMetricServiceImpl extends BaseMetricService implements ClusterMetricService {
private static final ILog LOGGER = LogFactory.getLog(ClusterMetricServiceImpl.class);
@@ -117,9 +110,6 @@ public class ClusterMetricServiceImpl extends BaseMetricService implements Clust
public static final String CLUSTER_METHOD_GET_JOBS_SUCCESS = "getJobsSuccess";
public static final String CLUSTER_METHOD_GET_JOBS_FAILED = "getJobsFailed";
- @EnterpriseLoadReBalance(all = false)
- public static final String CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO = "getClusterLoadReBalanceInfo";
-
@Autowired
private HealthStateService healthStateService;
@@ -159,12 +149,6 @@ public class ClusterMetricServiceImpl extends BaseMetricService implements Clust
@Autowired
private JobService jobService;
- @Autowired
- private ClusterBalanceService clusterBalanceService;
-
- @Autowired
- private ClusterPhyService clusterPhyService;
-
@Override
protected VersionItemTypeEnum getVersionItemType() {
return VersionItemTypeEnum.METRIC_CLUSTER;
@@ -176,7 +160,6 @@ public class ClusterMetricServiceImpl extends BaseMetricService implements Clust
}
@Override
- @EnterpriseLoadReBalance(all = false)
protected void initRegisterVCHandler(){
registerVCHandler( CLUSTER_METHOD_DO_NOTHING, this::doNothing);
registerVCHandler( CLUSTER_METHOD_GET_TOPIC_SIZE, this::getTopicSize);
@@ -216,8 +199,6 @@ public class ClusterMetricServiceImpl extends BaseMetricService implements Clust
registerVCHandler( CLUSTER_METHOD_GET_JOBS_WAITING, this::getJobsWaiting);
registerVCHandler( CLUSTER_METHOD_GET_JOBS_SUCCESS, this::getJobsSuccess);
registerVCHandler( CLUSTER_METHOD_GET_JOBS_FAILED, this::getJobsFailed);
-
- registerVCHandler( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO, this::getClusterLoadReBalanceInfo);
}
@Override
@@ -680,26 +661,6 @@ public class ClusterMetricServiceImpl extends BaseMetricService implements Clust
return Result.buildSuc(initWithMetrics(clusterId, metric, count));
}
- @EnterpriseLoadReBalance
- private Result
getClusterLoadReBalanceInfo(VersionItemParam metricParam) {
- ClusterMetricParam param = (ClusterMetricParam)metricParam;
-
- Result stateResult = clusterBalanceService.getItemState(param.getClusterId());
- if (stateResult.failed()) {
- return Result.buildFromIgnoreData(stateResult);
- }
-
- ClusterBalanceItemState state = stateResult.getData();
-
- ClusterMetrics metric = ClusterMetrics.initWithMetrics(param.getClusterId(), CLUSTER_METRIC_LOAD_RE_BALANCE_ENABLE, state.getEnable()? Constant.YES: Constant.NO);
- metric.putMetric(CLUSTER_METRIC_LOAD_RE_BALANCE_CPU, state.getResItemState(Resource.CPU).floatValue());
- metric.putMetric(CLUSTER_METRIC_LOAD_RE_BALANCE_NW_IN, state.getResItemState(Resource.NW_IN).floatValue());
- metric.putMetric(CLUSTER_METRIC_LOAD_RE_BALANCE_NW_OUT, state.getResItemState(Resource.NW_OUT).floatValue());
- metric.putMetric(CLUSTER_METRIC_LOAD_RE_BALANCE_DISK, state.getResItemState(Resource.DISK).floatValue());
-
- return Result.buildSuc(metric);
- }
-
/**
* 从某一个 controller 的 JMX 中获取指标再聚合得到集群的指标
* @param metricParam
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/config/ConfigUtils.java b/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/config/ConfigUtils.java
index 079d069b..3cc6cc47 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/config/ConfigUtils.java
+++ b/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/config/ConfigUtils.java
@@ -16,5 +16,5 @@ public class ConfigUtils {
}
@Value("${cluster-balance.ignored-topics.time-second:300}")
- private Integer clusterBalanceIgnoredTopicsTimeSecond;
+ private Integer clusterBalanceIgnoredTopicsTimeSecond;
}
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/health/state/impl/HealthStateServiceImpl.java b/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/health/state/impl/HealthStateServiceImpl.java
index b2d34f2a..dc3327d9 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/health/state/impl/HealthStateServiceImpl.java
+++ b/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/health/state/impl/HealthStateServiceImpl.java
@@ -143,7 +143,7 @@ public class HealthStateServiceImpl implements HealthStateService {
// DB中不存在,则默认是存活的
metrics.getMetrics().put(BROKER_METRIC_HEALTH_STATE, (float)HealthStateEnum.GOOD.getDimension());
} else if (!broker.alive()) {
- metrics.getMetrics().put(BROKER_METRIC_HEALTH_STATE, (float)HealthStateEnum.DEAD.getDimension());
+ metrics.getMetrics().put(BROKER_METRIC_HEALTH_STATE, (float) HealthStateEnum.DEAD.getDimension());
} else {
metrics.getMetrics().put(BROKER_METRIC_HEALTH_STATE, (float)this.calHealthState(aggResultList).getDimension());
}
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/version/metrics/kafka/ClusterMetricVersionItems.java b/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/version/metrics/kafka/ClusterMetricVersionItems.java
index d80e641c..cefe8930 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/version/metrics/kafka/ClusterMetricVersionItems.java
+++ b/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/service/version/metrics/kafka/ClusterMetricVersionItems.java
@@ -1,6 +1,5 @@
package com.xiaojukeji.know.streaming.km.core.service.version.metrics.kafka;
-import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.entity.version.VersionMetricControlItem;
import com.xiaojukeji.know.streaming.km.common.constant.Constant;
import com.xiaojukeji.know.streaming.km.common.enums.version.VersionEnum;
@@ -20,7 +19,6 @@ import static com.xiaojukeji.know.streaming.km.core.service.cluster.impl.Cluster
* @author didi
*/
@Component
-@EnterpriseLoadReBalance(all = false)
public class ClusterMetricVersionItems extends BaseMetricVersionMetric {
/**
* 整体的健康指标
@@ -121,13 +119,6 @@ public class ClusterMetricVersionItems extends BaseMetricVersionMetric {
public static final String CLUSTER_METRIC_JOB_SUCCESS = "JobsSuccess";
public static final String CLUSTER_METRIC_JOB_FAILED = "JobsFailed";
- @EnterpriseLoadReBalance
- public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_ENABLE = "LoadReBalanceEnable";
- public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_CPU = "LoadReBalanceCpu";
- public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_NW_IN = "LoadReBalanceNwIn";
- public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_NW_OUT = "LoadReBalanceNwOut";
- public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_DISK = "LoadReBalanceDisk";
-
public static final String CLUSTER_METRIC_COLLECT_COST_TIME = Constant.COLLECT_METRICS_COST_TIME_METRICS_NAME;
public ClusterMetricVersionItems(){}
@@ -138,7 +129,6 @@ public class ClusterMetricVersionItems extends BaseMetricVersionMetric {
}
@Override
- @EnterpriseLoadReBalance(all = false)
public List init(){
List itemList = new ArrayList<>();
@@ -418,27 +408,6 @@ public class ClusterMetricVersionItems extends BaseMetricVersionMetric {
.name(CLUSTER_METRIC_JOB_FAILED).unit("个").desc("集群failed任务总数").category(CATEGORY_JOB)
.extend( buildMethodExtend( CLUSTER_METHOD_GET_JOBS_FAILED )));
- // 集群维度-均衡相关
- itemList.add( buildAllVersionsItem()
- .name(CLUSTER_METRIC_LOAD_RE_BALANCE_ENABLE).unit("是/否").desc("是否开启均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
- .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
-
- itemList.add( buildAllVersionsItem()
- .name(CLUSTER_METRIC_LOAD_RE_BALANCE_CPU).unit("是/否").desc("CPU是否均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
- .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
-
- itemList.add( buildAllVersionsItem()
- .name(CLUSTER_METRIC_LOAD_RE_BALANCE_NW_IN).unit("是/否").desc("BytesIn是否均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
- .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
-
- itemList.add( buildAllVersionsItem()
- .name(CLUSTER_METRIC_LOAD_RE_BALANCE_NW_OUT).unit("是/否").desc("BytesOut是否均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
- .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
-
- itemList.add( buildAllVersionsItem()
- .name(CLUSTER_METRIC_LOAD_RE_BALANCE_DISK).unit("是/否").desc("Disk是否均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
- .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
-
itemList.add(buildAllVersionsItem()
.name(CLUSTER_METRIC_COLLECT_COST_TIME).unit("秒").desc("采集Cluster指标的耗时").category(CATEGORY_PERFORMANCE)
.extendMethod(CLUSTER_METHOD_DO_NOTHING));
diff --git a/km-extends/km-rebalance/pom.xml b/km-enterprise/km-rebalance/pom.xml
similarity index 79%
rename from km-extends/km-rebalance/pom.xml
rename to km-enterprise/km-rebalance/pom.xml
index 3a3f3eff..d960e362 100644
--- a/km-extends/km-rebalance/pom.xml
+++ b/km-enterprise/km-rebalance/pom.xml
@@ -13,6 +13,7 @@
km-rebalance
+
org.apache.kafka
kafka-clients
@@ -46,22 +47,18 @@
jopt-simple
-
+
+ com.xiaojukeji.kafka
+ km-common
+ ${project.parent.version}
- log4j
- log4j
- runtime
+ com.xiaojukeji.kafka
+ km-core
+ ${project.parent.version}
-
- commons-logging
- commons-logging
- 1.2
- runtime
- -->
\ No newline at end of file
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/KafkaRebalanceMain.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/KafkaRebalanceMain.java
similarity index 94%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/KafkaRebalanceMain.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/KafkaRebalanceMain.java
index 13c460bc..a0e9e1c9 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/KafkaRebalanceMain.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/KafkaRebalanceMain.java
@@ -1,13 +1,13 @@
-package com.xiaojukeji.know.streaming.km.rebalance;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.ExecutionRebalance;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceParameter;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.HostEnv;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.OptimizerResult;
-import com.xiaojukeji.know.streaming.km.rebalance.utils.CommandLineUtils;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.ExecutionRebalance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceParameter;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.HostEnv;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.OptimizerResult;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.utils.CommandLineUtils;
import joptsimple.OptionParser;
import joptsimple.OptionSet;
import org.apache.commons.io.FileUtils;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/exception/OptimizationFailureException.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/exception/OptimizationFailureException.java
similarity index 83%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/exception/OptimizationFailureException.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/exception/OptimizationFailureException.java
index ecc08f1e..0ef9f8b2 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/exception/OptimizationFailureException.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/exception/OptimizationFailureException.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.exception;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.exception;
public class OptimizationFailureException extends Exception {
public OptimizationFailureException(String message, Throwable cause) {
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/ExecutionRebalance.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/ExecutionRebalance.java
similarity index 79%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/ExecutionRebalance.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/ExecutionRebalance.java
index dd24e99a..045b193f 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/ExecutionRebalance.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/ExecutionRebalance.java
@@ -1,16 +1,16 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceGoal;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceParameter;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceThreshold;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BrokerBalanceState;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Load;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.GoalOptimizer;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.OptimizationOptions;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.OptimizerResult;
-import com.xiaojukeji.know.streaming.km.rebalance.utils.GoalUtils;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceGoal;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceParameter;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceThreshold;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BrokerBalanceState;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Load;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.GoalOptimizer;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.OptimizationOptions;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.OptimizerResult;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.utils.GoalUtils;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.Validate;
import org.slf4j.Logger;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceActionHistory.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceActionHistory.java
similarity index 95%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceActionHistory.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceActionHistory.java
index c743e3c3..d489bcc8 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceActionHistory.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceActionHistory.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
public class BalanceActionHistory {
//均衡目标
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceDetailed.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceDetailed.java
similarity index 98%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceDetailed.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceDetailed.java
index 4c7b841b..92006fe3 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceDetailed.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceDetailed.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
public class BalanceDetailed {
private int brokerId;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceGoal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceGoal.java
similarity index 84%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceGoal.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceGoal.java
index 81515812..8e0187e8 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceGoal.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceGoal.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
public enum BalanceGoal {
// KM传参时使用
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceOverview.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceOverview.java
similarity index 94%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceOverview.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceOverview.java
index 48c12217..f8017c0a 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceOverview.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceOverview.java
@@ -1,6 +1,6 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
import java.util.Map;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceParameter.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceParameter.java
similarity index 98%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceParameter.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceParameter.java
index 78ce53eb..90dcacf5 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceParameter.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceParameter.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
import java.util.List;
import java.util.Properties;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceTask.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceTask.java
similarity index 91%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceTask.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceTask.java
index 73ed224b..f79b8f3a 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceTask.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceTask.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
import java.util.List;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceThreshold.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceThreshold.java
similarity index 86%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceThreshold.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceThreshold.java
index 92091d01..edbc13bd 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BalanceThreshold.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BalanceThreshold.java
@@ -1,6 +1,6 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
public class BalanceThreshold {
private final Resource _resource;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BrokerBalanceState.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BrokerBalanceState.java
similarity index 98%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BrokerBalanceState.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BrokerBalanceState.java
index 11f7cb55..c30f1bdf 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/BrokerBalanceState.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/BrokerBalanceState.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
public class BrokerBalanceState {
//CPU平均资源
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/HostEnv.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/HostEnv.java
similarity index 94%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/HostEnv.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/HostEnv.java
index 08eaf3d6..9229895e 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/HostEnv.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/HostEnv.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
public class HostEnv {
//BrokerId
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/OptimizerResult.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/OptimizerResult.java
similarity index 93%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/OptimizerResult.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/OptimizerResult.java
index d3821b4c..18abdcd9 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/OptimizerResult.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/OptimizerResult.java
@@ -1,13 +1,13 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Broker;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ReplicaPlacementInfo;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ExecutionProposal;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.OptimizationOptions;
-import com.xiaojukeji.know.streaming.km.rebalance.utils.GoalUtils;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Broker;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ReplicaPlacementInfo;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ExecutionProposal;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.OptimizationOptions;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.utils.GoalUtils;
import org.apache.kafka.common.TopicPartition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/TopicChangeHistory.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/TopicChangeHistory.java
similarity index 95%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/TopicChangeHistory.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/TopicChangeHistory.java
index 692757a5..83fb43c9 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/executor/common/TopicChangeHistory.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/executor/common/TopicChangeHistory.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.executor.common;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common;
import java.util.List;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/Metric.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/Metric.java
similarity index 92%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/Metric.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/Metric.java
index cd427b9e..548efe00 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/Metric.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/Metric.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.metric;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric;
/**
* @author leewei
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/MetricStore.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/MetricStore.java
similarity index 67%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/MetricStore.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/MetricStore.java
index a453af21..be9c2fcc 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/MetricStore.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/MetricStore.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.metric;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric;
/**
* @author leewei
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/Metrics.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/Metrics.java
similarity index 85%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/Metrics.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/Metrics.java
index b0e87b9e..7e09667e 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/Metrics.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/Metrics.java
@@ -1,7 +1,7 @@
-package com.xiaojukeji.know.streaming.km.rebalance.metric;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Load;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Load;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
import org.apache.kafka.common.TopicPartition;
import java.util.*;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/elasticsearch/ElasticsearchMetricStore.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/elasticsearch/ElasticsearchMetricStore.java
similarity index 93%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/elasticsearch/ElasticsearchMetricStore.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/elasticsearch/ElasticsearchMetricStore.java
index fd9a6f90..c07bcb67 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/metric/elasticsearch/ElasticsearchMetricStore.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/metric/elasticsearch/ElasticsearchMetricStore.java
@@ -1,10 +1,10 @@
-package com.xiaojukeji.know.streaming.km.rebalance.metric.elasticsearch;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric.elasticsearch;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
-import com.xiaojukeji.know.streaming.km.rebalance.metric.Metric;
-import com.xiaojukeji.know.streaming.km.rebalance.metric.MetricStore;
-import com.xiaojukeji.know.streaming.km.rebalance.metric.Metrics;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric.Metric;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric.MetricStore;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric.Metrics;
import org.apache.commons.io.IOUtils;
import org.apache.http.HttpHost;
import org.elasticsearch.client.Request;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Broker.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Broker.java
similarity index 99%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Broker.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Broker.java
index 316d36d5..a2b3f269 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Broker.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Broker.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
import org.apache.kafka.common.TopicPartition;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Capacity.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Capacity.java
similarity index 92%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Capacity.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Capacity.java
index e1db55a9..b6da2b73 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Capacity.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Capacity.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
import java.util.Arrays;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/ClusterModel.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/ClusterModel.java
similarity index 98%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/ClusterModel.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/ClusterModel.java
index a8f10a2e..57ef98a1 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/ClusterModel.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/ClusterModel.java
@@ -1,6 +1,6 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceActionHistory;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceActionHistory;
import org.apache.kafka.common.TopicPartition;
import java.util.*;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Load.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Load.java
similarity index 93%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Load.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Load.java
index 6e3ddc09..ec8b2c17 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Load.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Load.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
import java.util.Arrays;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Partition.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Partition.java
similarity index 98%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Partition.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Partition.java
index 7842875b..6783e6a4 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Partition.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Partition.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
import org.apache.kafka.common.TopicPartition;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Rack.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Rack.java
similarity index 95%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Rack.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Rack.java
index 20df81b1..028c8747 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Rack.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Rack.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
import java.util.*;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Replica.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Replica.java
similarity index 98%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Replica.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Replica.java
index e546dfa0..37b1156f 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Replica.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Replica.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
import org.apache.kafka.common.TopicPartition;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/ReplicaPlacementInfo.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/ReplicaPlacementInfo.java
similarity index 94%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/ReplicaPlacementInfo.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/ReplicaPlacementInfo.java
index b26b9666..0364c392 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/ReplicaPlacementInfo.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/ReplicaPlacementInfo.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
import java.util.Objects;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Resource.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Resource.java
similarity index 86%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Resource.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Resource.java
index bdca0dc9..ff31a0c1 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Resource.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Resource.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
/**
* @author leewei
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Supplier.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Supplier.java
similarity index 92%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Supplier.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Supplier.java
index fa714ae7..54bc0e76 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/model/Supplier.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/model/Supplier.java
@@ -1,9 +1,9 @@
-package com.xiaojukeji.know.streaming.km.rebalance.model;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.model;
-import com.xiaojukeji.know.streaming.km.rebalance.metric.MetricStore;
-import com.xiaojukeji.know.streaming.km.rebalance.metric.Metrics;
-import com.xiaojukeji.know.streaming.km.rebalance.metric.elasticsearch.ElasticsearchMetricStore;
-import com.xiaojukeji.know.streaming.km.rebalance.utils.MetadataUtils;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric.MetricStore;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric.Metrics;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.metric.elasticsearch.ElasticsearchMetricStore;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.utils.MetadataUtils;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.common.Cluster;
import org.apache.kafka.common.Node;
diff --git a/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ActionAcceptance.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ActionAcceptance.java
new file mode 100644
index 00000000..34105557
--- /dev/null
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ActionAcceptance.java
@@ -0,0 +1,5 @@
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer;
+
+public enum ActionAcceptance {
+ ACCEPT, REJECT;
+}
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ActionType.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ActionType.java
similarity index 82%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ActionType.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ActionType.java
index ad4f6e3e..91ddb58f 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ActionType.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ActionType.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer;
public enum ActionType {
REPLICA_MOVEMENT("REPLICA"),
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/AnalyzerUtils.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/AnalyzerUtils.java
similarity index 85%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/AnalyzerUtils.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/AnalyzerUtils.java
index 097a0ea9..f327bfb9 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/AnalyzerUtils.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/AnalyzerUtils.java
@@ -1,17 +1,17 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Replica;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ReplicaPlacementInfo;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.Goal;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Replica;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ReplicaPlacementInfo;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.Goal;
import org.apache.commons.lang3.StringUtils;
import org.apache.kafka.common.TopicPartition;
import java.util.*;
import java.util.stream.Collectors;
-import static com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionAcceptance.ACCEPT;
+import static com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionAcceptance.ACCEPT;
public class AnalyzerUtils {
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/BalancingAction.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/BalancingAction.java
similarity index 93%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/BalancingAction.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/BalancingAction.java
index f40665fd..feafda15 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/BalancingAction.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/BalancingAction.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer;
import org.apache.kafka.common.TopicPartition;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ExecutionProposal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ExecutionProposal.java
similarity index 94%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ExecutionProposal.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ExecutionProposal.java
index ea2f6057..90e66e6c 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ExecutionProposal.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/ExecutionProposal.java
@@ -1,6 +1,6 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ReplicaPlacementInfo;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ReplicaPlacementInfo;
import org.apache.kafka.common.TopicPartition;
import java.util.*;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/GoalOptimizer.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/GoalOptimizer.java
similarity index 82%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/GoalOptimizer.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/GoalOptimizer.java
index fdce966f..2f37ca7a 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/GoalOptimizer.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/GoalOptimizer.java
@@ -1,9 +1,9 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.OptimizerResult;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ReplicaPlacementInfo;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.Goal;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.OptimizerResult;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ReplicaPlacementInfo;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.Goal;
import org.apache.kafka.common.TopicPartition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/OptimizationOptions.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/OptimizationOptions.java
similarity index 89%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/OptimizationOptions.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/OptimizationOptions.java
index 5b3809ea..53befbee 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/OptimizationOptions.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/OptimizationOptions.java
@@ -1,7 +1,7 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceParameter;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceParameter;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
import java.util.*;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/AbstractGoal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/AbstractGoal.java
similarity index 94%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/AbstractGoal.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/AbstractGoal.java
index 0472e674..0916a228 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/AbstractGoal.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/AbstractGoal.java
@@ -1,9 +1,9 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Broker;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Replica;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.*;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Broker;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Replica;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.*;
import java.util.*;
import java.util.stream.Collectors;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/DiskDistributionGoal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/DiskDistributionGoal.java
similarity index 56%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/DiskDistributionGoal.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/DiskDistributionGoal.java
index f91179d9..7b1eb819 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/DiskDistributionGoal.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/DiskDistributionGoal.java
@@ -1,10 +1,10 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionAcceptance;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionType;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.BalancingAction;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionAcceptance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionType;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.BalancingAction;
/**
* @author leewei
diff --git a/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/Goal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/Goal.java
new file mode 100644
index 00000000..2c1665f0
--- /dev/null
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/Goal.java
@@ -0,0 +1,17 @@
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals;
+
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionAcceptance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.BalancingAction;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.OptimizationOptions;
+
+import java.util.Set;
+
+public interface Goal {
+
+ void optimize(ClusterModel clusterModel, Set optimizedGoals, OptimizationOptions optimizationOptions);
+
+ String name();
+
+ ActionAcceptance actionAcceptance(BalancingAction action, ClusterModel clusterModel);
+}
\ No newline at end of file
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/NetworkInboundDistributionGoal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/NetworkInboundDistributionGoal.java
similarity index 58%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/NetworkInboundDistributionGoal.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/NetworkInboundDistributionGoal.java
index 0195caa4..2d1657c2 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/NetworkInboundDistributionGoal.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/NetworkInboundDistributionGoal.java
@@ -1,10 +1,10 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionAcceptance;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionType;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.BalancingAction;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionAcceptance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionType;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.BalancingAction;
/**
* @author leewei
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/NetworkOutboundDistributionGoal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/NetworkOutboundDistributionGoal.java
similarity index 68%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/NetworkOutboundDistributionGoal.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/NetworkOutboundDistributionGoal.java
index eb8809b1..fb193f4c 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/NetworkOutboundDistributionGoal.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/NetworkOutboundDistributionGoal.java
@@ -1,6 +1,6 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
/**
* @author leewei
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/ResourceDistributionGoal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/ResourceDistributionGoal.java
similarity index 95%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/ResourceDistributionGoal.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/ResourceDistributionGoal.java
index 2eb3f635..8109859a 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/ResourceDistributionGoal.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/ResourceDistributionGoal.java
@@ -1,10 +1,10 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals;
-import com.xiaojukeji.know.streaming.km.rebalance.model.*;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionAcceptance;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionType;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.BalancingAction;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.OptimizationOptions;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.*;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionAcceptance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionType;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.BalancingAction;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.OptimizationOptions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/TopicLeadersDistributionGoal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/TopicLeadersDistributionGoal.java
similarity index 90%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/TopicLeadersDistributionGoal.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/TopicLeadersDistributionGoal.java
index 83080db7..45450480 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/TopicLeadersDistributionGoal.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/TopicLeadersDistributionGoal.java
@@ -1,22 +1,22 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Broker;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Replica;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionAcceptance;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.BalancingAction;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.OptimizationOptions;
-import com.xiaojukeji.know.streaming.km.rebalance.utils.GoalUtils;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Broker;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Replica;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionAcceptance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.BalancingAction;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.OptimizationOptions;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.utils.GoalUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.*;
import java.util.stream.Collectors;
-import static com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionAcceptance.ACCEPT;
-import static com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionAcceptance.REJECT;
-import static com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionType.REPLICA_MOVEMENT;
-import static com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionType.LEADERSHIP_MOVEMENT;
+import static com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionAcceptance.ACCEPT;
+import static com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionAcceptance.REJECT;
+import static com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionType.REPLICA_MOVEMENT;
+import static com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionType.LEADERSHIP_MOVEMENT;
public class TopicLeadersDistributionGoal extends AbstractGoal {
private static final Logger logger = LoggerFactory.getLogger(TopicLeadersDistributionGoal.class);
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/TopicReplicaDistributionGoal.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/TopicReplicaDistributionGoal.java
similarity index 95%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/TopicReplicaDistributionGoal.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/TopicReplicaDistributionGoal.java
index 64ef028f..a7ff050e 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/TopicReplicaDistributionGoal.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/optimizer/goals/TopicReplicaDistributionGoal.java
@@ -1,13 +1,13 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Broker;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Replica;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionAcceptance;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionType;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.BalancingAction;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.OptimizationOptions;
-import com.xiaojukeji.know.streaming.km.rebalance.utils.GoalUtils;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Broker;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Replica;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionAcceptance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.ActionType;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.BalancingAction;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.OptimizationOptions;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.utils.GoalUtils;
import java.util.*;
import java.util.stream.Collectors;
diff --git a/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/package-info.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/package-info.java
new file mode 100644
index 00000000..f96cee6d
--- /dev/null
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/package-info.java
@@ -0,0 +1,7 @@
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm;
+
+/**
+ *
+ * Re-Balance算法部分代码
+ *
+ * */
\ No newline at end of file
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/utils/CommandLineUtils.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/utils/CommandLineUtils.java
similarity index 86%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/utils/CommandLineUtils.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/utils/CommandLineUtils.java
index 54412665..fe6c8204 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/utils/CommandLineUtils.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/utils/CommandLineUtils.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.utils;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.utils;
import joptsimple.OptionParser;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/utils/GoalUtils.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/utils/GoalUtils.java
similarity index 82%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/utils/GoalUtils.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/utils/GoalUtils.java
index bd6358a1..edf9dc00 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/utils/GoalUtils.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/utils/GoalUtils.java
@@ -1,11 +1,11 @@
-package com.xiaojukeji.know.streaming.km.rebalance.utils;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.utils;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceGoal;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceParameter;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceThreshold;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.HostEnv;
-import com.xiaojukeji.know.streaming.km.rebalance.model.*;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.AnalyzerUtils;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceGoal;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceParameter;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceThreshold;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.HostEnv;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.*;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.AnalyzerUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/utils/MetadataUtils.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/utils/MetadataUtils.java
similarity index 98%
rename from km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/utils/MetadataUtils.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/utils/MetadataUtils.java
index dd83659f..3df57c6c 100644
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/utils/MetadataUtils.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/algorithm/utils/MetadataUtils.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.rebalance.utils;
+package com.xiaojukeji.know.streaming.km.rebalance.algorithm.utils;
import org.apache.kafka.clients.*;
import org.apache.kafka.clients.consumer.internals.NoAvailableBrokersException;
diff --git a/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/BalanceMetricConstant.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/BalanceMetricConstant.java
new file mode 100644
index 00000000..bcaa1d82
--- /dev/null
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/BalanceMetricConstant.java
@@ -0,0 +1,35 @@
+package com.xiaojukeji.know.streaming.km.rebalance.common;
+
+public class BalanceMetricConstant {
+ public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_ENABLE = "LoadReBalanceEnable";
+
+ public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_CPU = "LoadReBalanceCpu";
+
+ public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_NW_IN = "LoadReBalanceNwIn";
+
+ public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_NW_OUT = "LoadReBalanceNwOut";
+
+ public static final String CLUSTER_METRIC_LOAD_RE_BALANCE_DISK = "LoadReBalanceDisk";
+
+ // 集群维度-均衡相关
+// itemList.add( buildAllVersionsItem()
+// .name(CLUSTER_METRIC_LOAD_RE_BALANCE_ENABLE).unit("是/否").desc("是否开启均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
+// .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
+//
+// itemList.add( buildAllVersionsItem()
+// .name(CLUSTER_METRIC_LOAD_RE_BALANCE_CPU).unit("是/否").desc("CPU是否均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
+// .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
+//
+// itemList.add( buildAllVersionsItem()
+// .name(CLUSTER_METRIC_LOAD_RE_BALANCE_NW_IN).unit("是/否").desc("BytesIn是否均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
+// .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
+//
+// itemList.add( buildAllVersionsItem()
+// .name(CLUSTER_METRIC_LOAD_RE_BALANCE_NW_OUT).unit("是/否").desc("BytesOut是否均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
+// .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
+//
+// itemList.add( buildAllVersionsItem()
+// .name(CLUSTER_METRIC_LOAD_RE_BALANCE_DISK).unit("是/否").desc("Disk是否均衡, 1:是;0:否").category(CATEGORY_CLUSTER)
+// .extend( buildMethodExtend( CLUSTER_METHOD_GET_CLUSTER_LOAD_RE_BALANCE_INFO )));
+
+}
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalanceIntervalDTO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalanceIntervalDTO.java
similarity index 91%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalanceIntervalDTO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalanceIntervalDTO.java
index 0f198056..520b4ebc 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalanceIntervalDTO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalanceIntervalDTO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModelProperty;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalanceOverviewDTO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalanceOverviewDTO.java
similarity index 87%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalanceOverviewDTO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalanceOverviewDTO.java
index 7aa8a5f0..4876e53d 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalanceOverviewDTO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalanceOverviewDTO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.PaginationBaseDTO;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalancePreviewDTO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalancePreviewDTO.java
similarity index 93%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalancePreviewDTO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalancePreviewDTO.java
index 705178ac..e99626e9 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalancePreviewDTO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalancePreviewDTO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.dto.BaseDTO;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalanceStrategyDTO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalanceStrategyDTO.java
similarity index 96%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalanceStrategyDTO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalanceStrategyDTO.java
index 6eff2c5d..317c4165 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/dto/ClusterBalanceStrategyDTO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/dto/ClusterBalanceStrategyDTO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.dto.BaseDTO;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/ClusterBalanceInterval.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/ClusterBalanceInterval.java
similarity index 86%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/ClusterBalanceInterval.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/ClusterBalanceInterval.java
index 3a05160b..19d731ce 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/ClusterBalanceInterval.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/ClusterBalanceInterval.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import lombok.AllArgsConstructor;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/ClusterBalanceItemState.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/ClusterBalanceItemState.java
similarity index 81%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/ClusterBalanceItemState.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/ClusterBalanceItemState.java
index 04933dce..d42e5b8c 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/ClusterBalanceItemState.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/ClusterBalanceItemState.java
@@ -1,8 +1,8 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.constant.Constant;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@@ -27,7 +27,7 @@ public class ClusterBalanceItemState {
/**
* 子项是否均衡:key: disk,bytesIn,bytesOut,cpu ; value:true:已均衡,false:未均衡
- * @see com.xiaojukeji.know.streaming.km.rebalance.model.Resource
+ * @see com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource
*/
private Map itemState;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceJobConfig.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceJobConfig.java
similarity index 94%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceJobConfig.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceJobConfig.java
index 9b2d5ca7..b80e0eac 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceJobConfig.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceJobConfig.java
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2015, WINIT and/or its affiliates. All rights reserved. Use, Copy is subject to authorized license.
*/
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.entity.BaseEntity;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceReassign.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceReassign.java
similarity index 91%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceReassign.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceReassign.java
index d3a0a8e3..087a431d 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceReassign.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceReassign.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import lombok.Data;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceReassignDetail.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceReassignDetail.java
similarity index 73%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceReassignDetail.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceReassignDetail.java
index f64ab6ce..cd813d6d 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceReassignDetail.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceReassignDetail.java
@@ -1,7 +1,7 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail.ClusterBalanceDetailDataGroupByTopic;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail.ClusterBalanceDetailDataGroupByTopic;
import lombok.Data;
import java.util.Date;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceReassignExtendData.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceReassignExtendData.java
similarity index 90%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceReassignExtendData.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceReassignExtendData.java
index 4017c7ac..b3ab67f2 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/ClusterBalanceReassignExtendData.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/ClusterBalanceReassignExtendData.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import lombok.Data;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/content/JobClusterBalanceContent.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/content/JobClusterBalanceContent.java
similarity index 87%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/content/JobClusterBalanceContent.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/content/JobClusterBalanceContent.java
index 8ed77bfb..882a04de 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/content/JobClusterBalanceContent.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/content/JobClusterBalanceContent.java
@@ -1,8 +1,8 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.content;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.content;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.entity.job.content.BaseJobCreateContent;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceIntervalDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceIntervalDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/AbstractClusterBalanceDetailData.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/AbstractClusterBalanceDetailData.java
similarity index 93%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/AbstractClusterBalanceDetailData.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/AbstractClusterBalanceDetailData.java
index f4b7daa3..4d4d12fd 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/AbstractClusterBalanceDetailData.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/AbstractClusterBalanceDetailData.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import lombok.Data;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/ClusterBalanceDetailDataGroupByPartition.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/ClusterBalanceDetailDataGroupByPartition.java
similarity index 79%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/ClusterBalanceDetailDataGroupByPartition.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/ClusterBalanceDetailDataGroupByPartition.java
index 45837a75..d34dc9f0 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/ClusterBalanceDetailDataGroupByPartition.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/ClusterBalanceDetailDataGroupByPartition.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import lombok.Data;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/ClusterBalanceDetailDataGroupByTopic.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/ClusterBalanceDetailDataGroupByTopic.java
similarity index 83%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/ClusterBalanceDetailDataGroupByTopic.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/ClusterBalanceDetailDataGroupByTopic.java
index 8c72827f..06215b17 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/ClusterBalanceDetailDataGroupByTopic.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/ClusterBalanceDetailDataGroupByTopic.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import lombok.Data;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/ClusterBalancePlanDetail.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/ClusterBalancePlanDetail.java
similarity index 95%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/ClusterBalancePlanDetail.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/ClusterBalancePlanDetail.java
index e2528e35..3f6bf36c 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/entity/job/detail/ClusterBalancePlanDetail.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/entity/job/detail/ClusterBalancePlanDetail.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModel;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/po/ClusterBalanceJobConfigPO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/po/ClusterBalanceJobConfigPO.java
similarity index 95%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/po/ClusterBalanceJobConfigPO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/po/ClusterBalanceJobConfigPO.java
index 6462a500..b88b8470 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/po/ClusterBalanceJobConfigPO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/po/ClusterBalanceJobConfigPO.java
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2015, WINIT and/or its affiliates. All rights reserved. Use, Copy is subject to authorized license.
*/
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/po/ClusterBalanceJobPO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/po/ClusterBalanceJobPO.java
similarity index 96%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/po/ClusterBalanceJobPO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/po/ClusterBalanceJobPO.java
index 10866857..59a10b02 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/po/ClusterBalanceJobPO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/po/ClusterBalanceJobPO.java
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2015, WINIT and/or its affiliates. All rights reserved. Use, Copy is subject to authorized license.
*/
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaojukeji.know.streaming.km.common.bean.po.BasePO;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/po/ClusterBalanceReassignPO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/po/ClusterBalanceReassignPO.java
similarity index 94%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/po/ClusterBalanceReassignPO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/po/ClusterBalanceReassignPO.java
index 7cc4ef65..40200ff3 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/po/ClusterBalanceReassignPO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/po/ClusterBalanceReassignPO.java
@@ -1,7 +1,7 @@
/*
* Copyright (c) 2015, WINIT and/or its affiliates. All rights reserved. Use, Copy is subject to authorized license.
*/
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.po;
import com.baomidou.mybatisplus.annotation.TableName;
import com.xiaojukeji.know.streaming.km.common.bean.po.BasePO;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceHistorySubVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceHistorySubVO.java
similarity index 88%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceHistorySubVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceHistorySubVO.java
index 80bbc668..ac9c51ee 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceHistorySubVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceHistorySubVO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModel;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceHistoryVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceHistoryVO.java
similarity index 91%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceHistoryVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceHistoryVO.java
index fb71e1eb..04855b5f 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceHistoryVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceHistoryVO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModel;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceIntervalVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceIntervalVO.java
similarity index 85%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceIntervalVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceIntervalVO.java
index d3d28957..ad68b4e5 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceIntervalVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceIntervalVO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModelProperty;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceJobConfigVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceJobConfigVO.java
similarity index 88%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceJobConfigVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceJobConfigVO.java
index 08c36124..372c1efc 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceJobConfigVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceJobConfigVO.java
@@ -1,10 +1,10 @@
/*
* Copyright (c) 2015, WINIT and/or its affiliates. All rights reserved. Use, Copy is subject to authorized license.
*/
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.ClusterBalanceInterval;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.ClusterBalanceInterval;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceOverviewSubVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceOverviewSubVO.java
similarity index 91%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceOverviewSubVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceOverviewSubVO.java
index 770e274f..f2c2877f 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceOverviewSubVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceOverviewSubVO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModel;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceOverviewVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceOverviewVO.java
similarity index 92%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceOverviewVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceOverviewVO.java
index 872b6c0a..6d3e5117 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceOverviewVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceOverviewVO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModel;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalancePlanDetailVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalancePlanDetailVO.java
similarity index 95%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalancePlanDetailVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalancePlanDetailVO.java
index eb41ae7f..32f1b4c7 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalancePlanDetailVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalancePlanDetailVO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModel;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalancePlanVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalancePlanVO.java
similarity index 94%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalancePlanVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalancePlanVO.java
index dd624d79..6f6a7f6e 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalancePlanVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalancePlanVO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModel;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceStateSubVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceStateSubVO.java
similarity index 93%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceStateSubVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceStateSubVO.java
index e713ca20..a0e628a4 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceStateSubVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceStateSubVO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceStateVO.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceStateVO.java
similarity index 92%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceStateVO.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceStateVO.java
index 3803315b..03fe00c0 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/bean/vo/ClusterBalanceStateVO.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/bean/vo/ClusterBalanceStateVO.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo;
+package com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import io.swagger.annotations.ApiModel;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/converter/ClusterBalanceConverter.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/converter/ClusterBalanceConverter.java
similarity index 94%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/converter/ClusterBalanceConverter.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/converter/ClusterBalanceConverter.java
index d5614563..90788165 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/converter/ClusterBalanceConverter.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/converter/ClusterBalanceConverter.java
@@ -1,42 +1,42 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.converter;
+package com.xiaojukeji.know.streaming.km.rebalance.common.converter;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceIntervalDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalancePreviewDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceStrategyDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceIntervalDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalancePreviewDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceStrategyDTO;
import com.xiaojukeji.know.streaming.km.common.bean.entity.broker.Broker;
import com.xiaojukeji.know.streaming.km.common.bean.entity.broker.BrokerSpec;
import com.xiaojukeji.know.streaming.km.common.bean.entity.cluster.ClusterPhy;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.ClusterBalanceInterval;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.ClusterBalanceReassignExtendData;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail.ClusterBalancePlanDetail;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.content.JobClusterBalanceContent;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.ClusterBalanceInterval;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.ClusterBalanceReassignExtendData;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail.ClusterBalancePlanDetail;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.content.JobClusterBalanceContent;
import com.xiaojukeji.know.streaming.km.common.bean.entity.topic.Topic;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobConfigPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceReassignPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobConfigPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceReassignPO;
import com.xiaojukeji.know.streaming.km.common.constant.Constant;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo.*;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.enums.ClusterBalanceStateEnum;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.enums.ClusterBalanceTypeEnum;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo.*;
+import com.xiaojukeji.know.streaming.km.rebalance.common.enums.ClusterBalanceStateEnum;
+import com.xiaojukeji.know.streaming.km.rebalance.common.enums.ClusterBalanceTypeEnum;
import com.xiaojukeji.know.streaming.km.common.enums.job.JobStatusEnum;
import com.xiaojukeji.know.streaming.km.common.enums.job.JobTypeEnum;
import com.xiaojukeji.know.streaming.km.common.utils.CommonUtils;
import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
import com.xiaojukeji.know.streaming.km.common.utils.ValidateUtils;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.*;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.*;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
import org.apache.kafka.clients.CommonClientConfigs;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
-import static com.xiaojukeji.know.streaming.km.common.constant.ESConstant.*;
-
@EnterpriseLoadReBalance
public class ClusterBalanceConverter {
+ public final static String PARTITION_INDEX = "ks_kafka_partition_metric";
+
private ClusterBalanceConverter() {
}
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/converter/ClusterBalanceReassignConverter.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/converter/ClusterBalanceReassignConverter.java
similarity index 94%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/converter/ClusterBalanceReassignConverter.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/converter/ClusterBalanceReassignConverter.java
index 0bdb4d73..c95dc804 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/converter/ClusterBalanceReassignConverter.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/converter/ClusterBalanceReassignConverter.java
@@ -1,17 +1,17 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.converter;
+package com.xiaojukeji.know.streaming.km.rebalance.common.converter;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.ClusterBalanceReassignDetail;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.ClusterBalanceReassignExtendData;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail.ClusterBalanceDetailDataGroupByPartition;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail.ClusterBalanceDetailDataGroupByTopic;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.ClusterBalanceReassignDetail;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.ClusterBalanceReassignExtendData;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail.ClusterBalanceDetailDataGroupByPartition;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail.ClusterBalanceDetailDataGroupByTopic;
import com.xiaojukeji.know.streaming.km.common.bean.entity.job.Job;
import com.xiaojukeji.know.streaming.km.common.bean.entity.job.JobStatus;
import com.xiaojukeji.know.streaming.km.common.bean.entity.job.detail.JobDetail;
import com.xiaojukeji.know.streaming.km.common.bean.entity.job.detail.SubJobReplicaMoveDetail;
import com.xiaojukeji.know.streaming.km.common.bean.entity.reassign.strategy.ReplaceReassignSub;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceReassignPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceReassignPO;
import com.xiaojukeji.know.streaming.km.common.bean.vo.job.sub.SubJobClusterBalanceReplicaMoveVO;
import com.xiaojukeji.know.streaming.km.common.bean.vo.job.sub.SubJobPartitionDetailVO;
import com.xiaojukeji.know.streaming.km.common.bean.vo.job.sub.SubJobVO;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/enums/ClusterBalanceStateEnum.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/enums/ClusterBalanceStateEnum.java
similarity index 89%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/enums/ClusterBalanceStateEnum.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/enums/ClusterBalanceStateEnum.java
index 5a2036c5..cdce71c3 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/enums/ClusterBalanceStateEnum.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/enums/ClusterBalanceStateEnum.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.enums;
+package com.xiaojukeji.know.streaming.km.rebalance.common.enums;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import lombok.Getter;
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/enums/ClusterBalanceTypeEnum.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/enums/ClusterBalanceTypeEnum.java
similarity index 87%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/enums/ClusterBalanceTypeEnum.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/enums/ClusterBalanceTypeEnum.java
index 7e189c6a..ce985f21 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/enums/ClusterBalanceTypeEnum.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/enums/ClusterBalanceTypeEnum.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.enums;
+package com.xiaojukeji.know.streaming.km.rebalance.common.enums;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import lombok.Getter;
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/package-info.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/package-info.java
similarity index 85%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/package-info.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/package-info.java
index fa0b61e6..e31bac52 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/package-info.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/common/package-info.java
@@ -4,6 +4,6 @@
* 当前 package 模块是依据产品的要求,依赖 km-extends/km-rebalance 模块,构建产品实际使用功能
*/
@EnterpriseLoadReBalance
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance;
+package com.xiaojukeji.know.streaming.km.rebalance.common;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/job/ClusterBalanceJobHandler.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/job/ClusterBalanceJobHandler.java
similarity index 90%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/job/ClusterBalanceJobHandler.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/job/ClusterBalanceJobHandler.java
index 21b2f9c6..4c0fac11 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/job/ClusterBalanceJobHandler.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/job/ClusterBalanceJobHandler.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.job;
+package com.xiaojukeji.know.streaming.km.rebalance.core.job;
import com.didiglobal.logi.log.ILog;
import com.didiglobal.logi.log.LogFactory;
@@ -6,41 +6,41 @@ import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.Enterprise
import com.xiaojukeji.know.streaming.km.common.bean.entity.broker.Broker;
import com.xiaojukeji.know.streaming.km.common.bean.entity.broker.BrokerSpec;
import com.xiaojukeji.know.streaming.km.common.bean.entity.cluster.ClusterPhy;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.ClusterBalanceReassignDetail;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail.ClusterBalanceDetailDataGroupByTopic;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.ClusterBalanceReassignDetail;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail.ClusterBalanceDetailDataGroupByTopic;
import com.xiaojukeji.know.streaming.km.common.bean.entity.job.Job;
import com.xiaojukeji.know.streaming.km.common.bean.entity.job.JobStatus;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.content.JobClusterBalanceContent;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.content.JobClusterBalanceContent;
import com.xiaojukeji.know.streaming.km.common.bean.entity.job.detail.JobDetail;
import com.xiaojukeji.know.streaming.km.common.bean.entity.job.detail.JobModifyDetail;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.ResultStatus;
import com.xiaojukeji.know.streaming.km.common.bean.entity.topic.Topic;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceReassignPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceReassignPO;
import com.xiaojukeji.know.streaming.km.common.bean.po.job.JobPO;
import com.xiaojukeji.know.streaming.km.common.bean.vo.job.sub.SubJobPartitionDetailVO;
import com.xiaojukeji.know.streaming.km.common.constant.Constant;
import com.xiaojukeji.know.streaming.km.common.constant.JobConstant;
import com.xiaojukeji.know.streaming.km.common.constant.MsgConstant;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.converter.ClusterBalanceConverter;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.converter.ClusterBalanceReassignConverter;
+import com.xiaojukeji.know.streaming.km.rebalance.common.converter.ClusterBalanceConverter;
+import com.xiaojukeji.know.streaming.km.rebalance.common.converter.ClusterBalanceReassignConverter;
import com.xiaojukeji.know.streaming.km.common.enums.job.JobActionEnum;
import com.xiaojukeji.know.streaming.km.common.enums.job.JobTypeEnum;
import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerService;
import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerSpecService;
import com.xiaojukeji.know.streaming.km.core.service.cluster.ClusterPhyService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceJobService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceReassignService;
import com.xiaojukeji.know.streaming.km.core.service.config.ConfigUtils;
import com.xiaojukeji.know.streaming.km.core.service.job.JobHandler;
import com.xiaojukeji.know.streaming.km.core.service.topic.TopicService;
import com.xiaojukeji.know.streaming.km.persistence.mysql.job.JobDAO;
import com.xiaojukeji.know.streaming.km.persistence.kafka.zookeeper.service.KafkaZKDAO;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.ExecutionRebalance;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceParameter;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.OptimizerResult;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.ExecutionRebalance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceParameter;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.OptimizerResult;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceJobService;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceReassignService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@@ -143,8 +143,7 @@ public class ClusterBalanceJobHandler implements JobHandler {
ClusterBalanceJobPO clusterBalanceJobPO = ClusterBalanceConverter.convert2ClusterBalanceJobPO(job.getId(), dto, optimizerResult, brokers, operator, generateReassignmentJson);
Result result = clusterBalanceJobService.createClusterBalanceJob(clusterBalanceJobPO, operator);
if (result.failed()){
- logger.error("method=clusterBalanceJobHandler.submit||job={}||errMsg={}!",
- job, result.getMessage());
+ logger.error("method=submit||job={}||errMsg={}!", job, result.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return result;
}
@@ -152,8 +151,7 @@ public class ClusterBalanceJobHandler implements JobHandler {
//生成迁移明细
Result cbrResult = clusterBalanceReassignService.addBatchBalanceReassign(reassignPOS);
if (cbrResult.failed()){
- logger.error("method=clusterBalanceJobHandler.submit||job={}||errMsg={}!",
- job, cbrResult.getMessage());
+ logger.error("method=submit||job={}||errMsg={}!", job, cbrResult.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return cbrResult;
}
@@ -162,14 +160,13 @@ public class ClusterBalanceJobHandler implements JobHandler {
job.setTarget(optimizerResult.resultOverview().getMoveTopics());
int count = jobDAO.updateById(ConvertUtil.obj2Obj(job, JobPO.class));
if (count < 0){
- logger.error("method=clusterBalanceJobHandler.submit||job={}||errMsg={}!",
- job, result.getMessage());
+ logger.error("method=submit||job={}||errMsg={}!", job, result.getMessage());
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return Result.buildFrom(ResultStatus.MYSQL_OPERATE_FAILED);
}
}catch (Exception e){
- logger.error("method=clusterBalanceJobHandler.submit||job={}||errMsg=exception", job, e);
+ logger.error("method=submit||job={}||errMsg=exception", job, e);
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return Result.buildFailure(e.getMessage());
}
diff --git a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/package-info.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/package-info.java
similarity index 85%
rename from km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/package-info.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/package-info.java
index 019215c4..74777d1d 100644
--- a/km-common/src/main/java/com/xiaojukeji/know/streaming/km/common/enterprise/rebalance/package-info.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/package-info.java
@@ -4,6 +4,6 @@
* 当前 package 模块是依据产品的要求,依赖 km-extends/km-rebalance 模块,构建产品实际使用功能
*/
@EnterpriseLoadReBalance
-package com.xiaojukeji.know.streaming.km.common.enterprise.rebalance;
+package com.xiaojukeji.know.streaming.km.rebalance.core;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceJobConfigService.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceJobConfigService.java
similarity index 76%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceJobConfigService.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceJobConfigService.java
index 201ca57e..4cbc7dff 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceJobConfigService.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceJobConfigService.java
@@ -1,8 +1,8 @@
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service;
+package com.xiaojukeji.know.streaming.km.rebalance.core.service;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobConfigPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobConfigPO;
@EnterpriseLoadReBalance
public interface ClusterBalanceJobConfigService {
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceJobService.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceJobService.java
similarity index 86%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceJobService.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceJobService.java
index 310b3fb9..33356233 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceJobService.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceJobService.java
@@ -1,12 +1,12 @@
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service;
+package com.xiaojukeji.know.streaming.km.rebalance.core.service;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.PaginationBaseDTO;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.PaginationResult;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceReassignPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo.ClusterBalanceHistoryVO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceReassignPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo.ClusterBalanceHistoryVO;
import java.util.List;
import java.util.Map;
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceReassignService.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceReassignService.java
similarity index 80%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceReassignService.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceReassignService.java
index 4f8c6301..a1a54935 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceReassignService.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceReassignService.java
@@ -1,10 +1,10 @@
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service;
+package com.xiaojukeji.know.streaming.km.rebalance.core.service;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.ClusterBalanceReassignDetail;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.ClusterBalanceReassignDetail;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceReassignPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceReassignPO;
import java.util.List;
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceService.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceService.java
similarity index 76%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceService.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceService.java
index bfe2d6b1..bd3dfda4 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/ClusterBalanceService.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/ClusterBalanceService.java
@@ -1,14 +1,14 @@
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service;
+package com.xiaojukeji.know.streaming.km.rebalance.core.service;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceOverviewDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalancePreviewDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceStrategyDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceOverviewDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalancePreviewDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceStrategyDTO;
import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.PaginationBaseDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.ClusterBalanceItemState;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.ClusterBalanceItemState;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.PaginationResult;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo.*;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo.*;
@EnterpriseLoadReBalance
public interface ClusterBalanceService {
@@ -37,6 +37,7 @@ public interface ClusterBalanceService {
* @return
*/
Result getItemState(Long clusterPhyId);
+ Result getItemStateFromCacheFirst(Long clusterPhyId);
/**
* @param clusterPhyId
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceJobConfigServiceImpl.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceJobConfigServiceImpl.java
similarity index 89%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceJobConfigServiceImpl.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceJobConfigServiceImpl.java
index abdae4c6..3eb1e8e1 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceJobConfigServiceImpl.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceJobConfigServiceImpl.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.impl;
+package com.xiaojukeji.know.streaming.km.rebalance.core.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -9,11 +9,11 @@ import com.xiaojukeji.know.streaming.km.common.bean.entity.broker.Broker;
import com.xiaojukeji.know.streaming.km.common.bean.entity.broker.BrokerSpec;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.ResultStatus;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobConfigPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobConfigPO;
import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerService;
import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerSpecService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceJobConfigService;
-import com.xiaojukeji.know.streaming.km.persistence.mysql.enterprise.rebalance.ClusterBalanceJobConfigDao;
+import com.xiaojukeji.know.streaming.km.rebalance.persistence.ClusterBalanceJobConfigDao;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceJobConfigService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceJobServiceImpl.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceJobServiceImpl.java
similarity index 92%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceJobServiceImpl.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceJobServiceImpl.java
index 13f961a3..e8c77c33 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceJobServiceImpl.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceJobServiceImpl.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.impl;
+package com.xiaojukeji.know.streaming.km.rebalance.core.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -22,21 +22,18 @@ import com.xiaojukeji.know.streaming.km.common.bean.entity.result.ResultStatus;
import com.xiaojukeji.know.streaming.km.common.constant.Constant;
import com.xiaojukeji.know.streaming.km.common.constant.KafkaConstant;
import com.xiaojukeji.know.streaming.km.common.constant.MsgConstant;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.ClusterBalanceInterval;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.detail.ClusterBalancePlanDetail;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobConfigPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceReassignPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo.ClusterBalanceHistorySubVO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo.ClusterBalanceHistoryVO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.converter.ClusterBalanceConverter;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.converter.ClusterBalanceReassignConverter;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.ClusterBalanceInterval;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.detail.ClusterBalancePlanDetail;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobConfigPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceReassignPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo.ClusterBalanceHistorySubVO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo.ClusterBalanceHistoryVO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.converter.ClusterBalanceConverter;
+import com.xiaojukeji.know.streaming.km.rebalance.common.converter.ClusterBalanceReassignConverter;
import com.xiaojukeji.know.streaming.km.common.enums.job.JobStatusEnum;
import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
import com.xiaojukeji.know.streaming.km.common.utils.ValidateUtils;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceJobConfigService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceJobService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceReassignService;
import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerService;
import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerSpecService;
import com.xiaojukeji.know.streaming.km.core.service.cluster.ClusterPhyService;
@@ -45,11 +42,14 @@ import com.xiaojukeji.know.streaming.km.core.service.partition.OpPartitionServic
import com.xiaojukeji.know.streaming.km.core.service.reassign.ReassignService;
import com.xiaojukeji.know.streaming.km.core.service.reassign.ReassignStrategyService;
import com.xiaojukeji.know.streaming.km.core.service.topic.TopicService;
-import com.xiaojukeji.know.streaming.km.persistence.mysql.enterprise.rebalance.ClusterBalanceJobDao;
-import com.xiaojukeji.know.streaming.km.persistence.mysql.enterprise.rebalance.ClusterBalanceReassignDao;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.ExecutionRebalance;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BrokerBalanceState;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.persistence.ClusterBalanceJobDao;
+import com.xiaojukeji.know.streaming.km.rebalance.persistence.ClusterBalanceReassignDao;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.ExecutionRebalance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BrokerBalanceState;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceJobConfigService;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceJobService;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceReassignService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceReassignServiceImpl.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceReassignServiceImpl.java
similarity index 96%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceReassignServiceImpl.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceReassignServiceImpl.java
index 64fa4ce6..3915ee7d 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceReassignServiceImpl.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceReassignServiceImpl.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.impl;
+package com.xiaojukeji.know.streaming.km.rebalance.core.service.impl;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -6,7 +6,7 @@ import com.didiglobal.logi.log.ILog;
import com.didiglobal.logi.log.LogFactory;
import com.didiglobal.logi.security.common.dto.oplog.OplogDTO;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.ClusterBalanceReassignDetail;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.ClusterBalanceReassignDetail;
import com.xiaojukeji.know.streaming.km.common.bean.entity.metrics.ReplicationMetrics;
import com.xiaojukeji.know.streaming.km.common.bean.entity.param.reassign.ExecuteReassignParam;
import com.xiaojukeji.know.streaming.km.common.bean.entity.partition.Partition;
@@ -15,25 +15,25 @@ import com.xiaojukeji.know.streaming.km.common.bean.entity.reassign.job.Reassign
import com.xiaojukeji.know.streaming.km.common.bean.entity.reassign.strategy.ReassignTask;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.ResultStatus;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceReassignPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceReassignPO;
import com.xiaojukeji.know.streaming.km.common.constant.KafkaConstant;
import com.xiaojukeji.know.streaming.km.common.constant.MsgConstant;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.converter.ClusterBalanceReassignConverter;
+import com.xiaojukeji.know.streaming.km.rebalance.common.converter.ClusterBalanceReassignConverter;
import com.xiaojukeji.know.streaming.km.common.enums.job.JobStatusEnum;
import com.xiaojukeji.know.streaming.km.common.enums.operaterecord.ModuleEnum;
import com.xiaojukeji.know.streaming.km.common.enums.operaterecord.OperationEnum;
import com.xiaojukeji.know.streaming.km.common.utils.CommonUtils;
import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceReassignService;
import com.xiaojukeji.know.streaming.km.core.service.oprecord.OpLogWrapService;
import com.xiaojukeji.know.streaming.km.core.service.partition.OpPartitionService;
import com.xiaojukeji.know.streaming.km.core.service.partition.PartitionService;
import com.xiaojukeji.know.streaming.km.core.service.reassign.ReassignService;
import com.xiaojukeji.know.streaming.km.core.service.replica.ReplicaMetricService;
import com.xiaojukeji.know.streaming.km.core.service.version.metrics.kafka.ReplicaMetricVersionItems;
-import com.xiaojukeji.know.streaming.km.persistence.mysql.enterprise.rebalance.ClusterBalanceJobDao;
-import com.xiaojukeji.know.streaming.km.persistence.mysql.enterprise.rebalance.ClusterBalanceReassignDao;
+import com.xiaojukeji.know.streaming.km.rebalance.persistence.ClusterBalanceJobDao;
+import com.xiaojukeji.know.streaming.km.rebalance.persistence.ClusterBalanceReassignDao;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceReassignService;
import org.apache.kafka.common.TopicPartition;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
diff --git a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceServiceImpl.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceServiceImpl.java
similarity index 82%
rename from km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceServiceImpl.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceServiceImpl.java
index 504a4511..6bc98e34 100644
--- a/km-core/src/main/java/com/xiaojukeji/know/streaming/km/core/enterprise/rebalance/service/impl/ClusterBalanceServiceImpl.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/core/service/impl/ClusterBalanceServiceImpl.java
@@ -1,58 +1,62 @@
-package com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.impl;
+package com.xiaojukeji.know.streaming.km.rebalance.core.service.impl;
import com.didiglobal.logi.log.ILog;
import com.didiglobal.logi.log.LogFactory;
+import com.github.benmanes.caffeine.cache.Cache;
+import com.github.benmanes.caffeine.cache.Caffeine;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceIntervalDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceOverviewDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalancePreviewDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceStrategyDTO;
+import com.xiaojukeji.know.streaming.km.common.constant.MsgConstant;
+import com.xiaojukeji.know.streaming.km.common.utils.*;
+import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerMetricService;
+import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerService;
+import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerSpecService;
+import com.xiaojukeji.know.streaming.km.core.service.cluster.ClusterPhyService;
+import com.xiaojukeji.know.streaming.km.core.service.config.ConfigUtils;
+import com.xiaojukeji.know.streaming.km.core.service.job.JobService;
+import com.xiaojukeji.know.streaming.km.core.service.topic.TopicService;
+import com.xiaojukeji.know.streaming.km.core.service.version.metrics.kafka.BrokerMetricVersionItems;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceIntervalDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceOverviewDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalancePreviewDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceStrategyDTO;
import com.xiaojukeji.know.streaming.km.common.bean.dto.job.JobDTO;
import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.PaginationBaseDTO;
import com.xiaojukeji.know.streaming.km.common.bean.entity.broker.Broker;
import com.xiaojukeji.know.streaming.km.common.bean.entity.broker.BrokerSpec;
import com.xiaojukeji.know.streaming.km.common.bean.entity.cluster.ClusterPhy;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.ClusterBalanceItemState;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.entity.job.content.JobClusterBalanceContent;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.ClusterBalanceItemState;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.entity.job.content.JobClusterBalanceContent;
import com.xiaojukeji.know.streaming.km.common.bean.entity.metrics.BrokerMetrics;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.PaginationResult;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.ResultStatus;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobConfigPO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobConfigPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobPO;
import com.xiaojukeji.know.streaming.km.common.constant.Constant;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo.*;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.converter.ClusterBalanceConverter;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.enums.ClusterBalanceStateEnum;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo.*;
+import com.xiaojukeji.know.streaming.km.rebalance.common.converter.ClusterBalanceConverter;
+import com.xiaojukeji.know.streaming.km.rebalance.common.enums.ClusterBalanceStateEnum;
import com.xiaojukeji.know.streaming.km.common.enums.job.JobHandleEnum;
import com.xiaojukeji.know.streaming.km.common.enums.job.JobStatusEnum;
import com.xiaojukeji.know.streaming.km.common.enums.job.JobTypeEnum;
-import com.xiaojukeji.know.streaming.km.common.utils.CommonUtils;
-import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
-import com.xiaojukeji.know.streaming.km.common.utils.PaginationUtil;
-import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerMetricService;
-import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerService;
-import com.xiaojukeji.know.streaming.km.core.service.broker.BrokerSpecService;
-import com.xiaojukeji.know.streaming.km.core.service.cluster.ClusterPhyService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceJobConfigService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceJobService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceService;
-import com.xiaojukeji.know.streaming.km.core.service.config.ConfigUtils;
-import com.xiaojukeji.know.streaming.km.core.service.job.JobService;
-import com.xiaojukeji.know.streaming.km.core.service.topic.TopicService;
-import com.xiaojukeji.know.streaming.km.core.service.version.metrics.kafka.BrokerMetricVersionItems;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.ExecutionRebalance;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceParameter;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BrokerBalanceState;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Resource;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.OptimizerResult;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.ExecutionRebalance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceParameter;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BrokerBalanceState;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Resource;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.OptimizerResult;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceJobConfigService;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceJobService;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceService;
import org.apache.logging.log4j.core.util.CronExpression;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
+import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
+import javax.annotation.PostConstruct;
import java.text.ParseException;
import java.util.*;
+import java.util.concurrent.TimeUnit;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -91,6 +95,19 @@ public class ClusterBalanceServiceImpl implements ClusterBalanceService {
@Autowired
private ConfigUtils configUtils;
+ private final Cache> balanceStateCache = Caffeine.newBuilder()
+ .expireAfterWrite(150, TimeUnit.SECONDS)
+ .maximumSize(1000)
+ .build();
+
+ @PostConstruct
+ @Scheduled(cron = "0 0/2 * * * ?")
+ private void flushClusterLatestMetricsCache() {
+ for (ClusterPhy clusterPhy: clusterPhyService.listAllClusters()) {
+ FutureUtil.quickStartupFutureUtil.submitTask(() -> this.updateCacheAndGetMetrics(clusterPhy.getId()));
+ }
+ }
+
@Override
public Result state(Long clusterPhyId) {
ClusterPhy clusterPhy = clusterPhyService.getClusterByCluster(clusterPhyId);
@@ -225,29 +242,49 @@ public class ClusterBalanceServiceImpl implements ClusterBalanceService {
@Override
public Result getItemState(Long clusterPhyId) {
ClusterPhy clusterPhy = clusterPhyService.getClusterByCluster(clusterPhyId);
- if (clusterPhy == null){
- return Result.buildFrom(ResultStatus.CLUSTER_NOT_EXIST);
+ if (clusterPhy == null) {
+ return Result.buildFromRSAndMsg(ResultStatus.CLUSTER_NOT_EXIST, MsgConstant.getClusterPhyNotExist(clusterPhyId));
}
- ClusterBalanceItemState clusterBalanceState = new ClusterBalanceItemState();
+
Result configPOResult = clusterBalanceJobConfigService.getByClusterId(clusterPhyId);
- if(!configPOResult.hasData()){
- clusterBalanceState.setConfigureBalance(Boolean.FALSE);
- clusterBalanceState.setEnable(Boolean.FALSE);
- return Result.buildSuc(clusterBalanceState);
+ if(configPOResult == null || !configPOResult.hasData()) {
+ ClusterBalanceItemState balanceState = new ClusterBalanceItemState();
+ balanceState.setConfigureBalance(Boolean.FALSE);
+ balanceState.setEnable(Boolean.FALSE);
+ return Result.buildSuc(balanceState);
}
- Map brokerMap = brokerService.listAllBrokersFromDB(clusterPhy.getId()).stream().collect(Collectors.toMap(Broker::getBrokerId, Function.identity()));
- Map brokerSpecMap = brokerSpecService.getBrokerSpecMap(clusterPhy.getId());
- List topicNames = topicService.listRecentUpdateTopicNamesFromDB(clusterPhyId, configUtils.getClusterBalanceIgnoredTopicsTimeSecond());
+ // Broker信息
+ Map brokerMap = brokerService.listAllBrokersFromDB(clusterPhyId)
+ .stream()
+ .collect(Collectors.toMap(Broker::getBrokerId, Function.identity()));
- clusterBalanceState.setConfigureBalance(Boolean.TRUE);
- clusterBalanceState.setEnable(configPOResult.getData().getStatus() == 1);
+ // Broker空间信息
+ Map brokerSpecMap = brokerSpecService.getBrokerSpecMap(clusterPhyId);
+
+ // Topic信息
+ List recentTopicNameList = topicService.listRecentUpdateTopicNamesFromDB(
+ clusterPhyId,
+ configUtils.getClusterBalanceIgnoredTopicsTimeSecond()
+ );
+
+ ClusterBalanceItemState balanceState = new ClusterBalanceItemState();
+ balanceState.setConfigureBalance(Boolean.TRUE);
+ balanceState.setEnable(configPOResult.getData().getStatus().equals(Constant.YES));
Map brokerBalanceStateMap;
try {
- brokerBalanceStateMap = ExecutionRebalance
- .getBrokerResourcesBalanceState(ClusterBalanceConverter.convert2BalanceParameter(configPOResult.getData(), brokerMap, brokerSpecMap, clusterPhy, esAddress, topicNames));
+ brokerBalanceStateMap = ExecutionRebalance.getBrokerResourcesBalanceState(
+ ClusterBalanceConverter.convert2BalanceParameter(
+ configPOResult.getData(),
+ brokerMap,
+ brokerSpecMap,
+ clusterPhy,
+ esAddress,
+ recentTopicNameList
+ )
+ );
}catch (Exception e){
- logger.error("method=state||clusterPhyId={}||errMsg=exception", clusterPhyId, e);
+ logger.error("method=state||clusterPhyId={}||errMsg=exception", clusterPhy.getId(), e);
return Result.buildFailure(e.getMessage());
}
@@ -271,34 +308,19 @@ public class ClusterBalanceServiceImpl implements ClusterBalanceService {
}
});
- clusterBalanceState.setItemState(itemStateMap);
+ balanceState.setItemState(itemStateMap);
- return Result.buildSuc(clusterBalanceState);
+ return Result.buildSuc(balanceState);
}
- private List filterState(Map stateParam, List oldVos){
- if (stateParam.isEmpty()){
- return oldVos;
- }
- List overviewVOS = new ArrayList<>();
- for(ClusterBalanceOverviewVO oldVo : oldVos){
- Boolean check = true;
- for(Map.Entry paramEntry : stateParam.entrySet()){
- ClusterBalanceOverviewSubVO subVO = oldVo.getSub().get(paramEntry.getKey());
- if (subVO == null){
- check = false;
- continue;
- }
- if (subVO.getStatus()==null || !subVO.getStatus().equals(paramEntry.getValue())){
- check = false;
- }
- }
- if (check){
- overviewVOS.add(oldVo);
- }
+ @Override
+ public Result getItemStateFromCacheFirst(Long clusterPhyId) {
+ Result stateResult = balanceStateCache.getIfPresent(clusterPhyId);
+ if (stateResult == null) {
+ return this.updateCacheAndGetMetrics(clusterPhyId);
}
- return overviewVOS;
+ return stateResult;
}
@Override
@@ -478,4 +500,43 @@ public class ClusterBalanceServiceImpl implements ClusterBalanceService {
}
return subVOMap;
}
+
+ private Result updateCacheAndGetMetrics(Long clusterPhyId) {
+ try {
+ Result stateResult = this.getItemState(clusterPhyId);
+
+ balanceStateCache.put(clusterPhyId, stateResult);
+
+ return stateResult;
+ } catch (Exception e) {
+ logger.error("method=updateCacheAndGetMetrics||clusterPhyId={}||errMsg=exception!", clusterPhyId, e);
+
+ return Result.buildFromRSAndMsg(ResultStatus.OPERATION_FAILED, e.getMessage());
+ }
+ }
+
+ private List filterState(Map stateParam, List oldVos){
+ if (stateParam.isEmpty()){
+ return oldVos;
+ }
+ List overviewVOS = new ArrayList<>();
+ for(ClusterBalanceOverviewVO oldVo : oldVos){
+ Boolean check = true;
+ for(Map.Entry paramEntry : stateParam.entrySet()){
+ ClusterBalanceOverviewSubVO subVO = oldVo.getSub().get(paramEntry.getKey());
+ if (subVO == null){
+ check = false;
+ continue;
+ }
+ if (subVO.getStatus()==null || !subVO.getStatus().equals(paramEntry.getValue())){
+ check = false;
+ }
+ }
+ if (check){
+ overviewVOS.add(oldVo);
+ }
+ }
+
+ return overviewVOS;
+ }
}
diff --git a/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance/ClusterBalanceJobConfigDao.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence/ClusterBalanceJobConfigDao.java
similarity index 74%
rename from km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance/ClusterBalanceJobConfigDao.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence/ClusterBalanceJobConfigDao.java
index 526e49e3..fee18ac2 100644
--- a/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance/ClusterBalanceJobConfigDao.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence/ClusterBalanceJobConfigDao.java
@@ -1,11 +1,11 @@
/*
* Copyright (c) 2015, WINIT and/or its affiliates. All rights reserved. Use, Copy is subject to authorized license.
*/
-package com.xiaojukeji.know.streaming.km.persistence.mysql.enterprise.rebalance;
+package com.xiaojukeji.know.streaming.km.rebalance.persistence;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobConfigPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobConfigPO;
import org.springframework.stereotype.Repository;
/**
diff --git a/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance/ClusterBalanceJobDao.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence/ClusterBalanceJobDao.java
similarity index 77%
rename from km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance/ClusterBalanceJobDao.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence/ClusterBalanceJobDao.java
index 278d99ba..986a7fe1 100644
--- a/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance/ClusterBalanceJobDao.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence/ClusterBalanceJobDao.java
@@ -1,11 +1,11 @@
/*
* Copyright (c) 2015, WINIT and/or its affiliates. All rights reserved. Use, Copy is subject to authorized license.
*/
-package com.xiaojukeji.know.streaming.km.persistence.mysql.enterprise.rebalance;
+package com.xiaojukeji.know.streaming.km.rebalance.persistence;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceJobPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceJobPO;
import org.springframework.stereotype.Repository;
/**
diff --git a/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance/ClusterBalanceReassignDao.java b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence/ClusterBalanceReassignDao.java
similarity index 77%
rename from km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance/ClusterBalanceReassignDao.java
rename to km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence/ClusterBalanceReassignDao.java
index 141e8ca0..d7664df4 100644
--- a/km-persistence/src/main/java/com/xiaojukeji/know/streaming/km/persistence/mysql/enterprise/rebalance/ClusterBalanceReassignDao.java
+++ b/km-enterprise/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/persistence/ClusterBalanceReassignDao.java
@@ -1,11 +1,11 @@
/*
* Copyright (c) 2015, WINIT and/or its affiliates. All rights reserved. Use, Copy is subject to authorized license.
*/
-package com.xiaojukeji.know.streaming.km.persistence.mysql.enterprise.rebalance;
+package com.xiaojukeji.know.streaming.km.rebalance.persistence;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.po.ClusterBalanceReassignPO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.po.ClusterBalanceReassignPO;
import org.springframework.stereotype.Repository;
import java.util.List;
@@ -19,6 +19,5 @@ import java.util.List;
@Repository
@EnterpriseLoadReBalance
public interface ClusterBalanceReassignDao extends BaseMapper {
-
int addBatch(List reassignPOList);
}
diff --git a/km-enterprise/km-rebalance/src/main/resources/META-INF/services/com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.Goal b/km-enterprise/km-rebalance/src/main/resources/META-INF/services/com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.Goal
new file mode 100644
index 00000000..a0dc0ce4
--- /dev/null
+++ b/km-enterprise/km-rebalance/src/main/resources/META-INF/services/com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.Goal
@@ -0,0 +1,5 @@
+com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.TopicLeadersDistributionGoal
+com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.TopicReplicaDistributionGoal
+com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.DiskDistributionGoal
+com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.NetworkInboundDistributionGoal
+com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.NetworkOutboundDistributionGoal
\ No newline at end of file
diff --git a/km-extends/km-rebalance/src/main/resources/MetricsQuery.json b/km-enterprise/km-rebalance/src/main/resources/MetricsQuery.json
similarity index 100%
rename from km-extends/km-rebalance/src/main/resources/MetricsQuery.json
rename to km-enterprise/km-rebalance/src/main/resources/MetricsQuery.json
diff --git a/km-persistence/src/main/resources/mybatis/ClusterBalanceJobMapper.xml b/km-enterprise/km-rebalance/src/main/resources/mybatis/ClusterBalanceJobMapper.xml
similarity index 94%
rename from km-persistence/src/main/resources/mybatis/ClusterBalanceJobMapper.xml
rename to km-enterprise/km-rebalance/src/main/resources/mybatis/ClusterBalanceJobMapper.xml
index cc6d1b7a..528a406f 100644
--- a/km-persistence/src/main/resources/mybatis/ClusterBalanceJobMapper.xml
+++ b/km-enterprise/km-rebalance/src/main/resources/mybatis/ClusterBalanceJobMapper.xml
@@ -1,9 +1,9 @@
-
+
-
+
diff --git a/km-persistence/src/main/resources/mybatis/ClusterBalanceReassignMapper.xml b/km-enterprise/km-rebalance/src/main/resources/mybatis/ClusterBalanceReassignMapper.xml
similarity index 77%
rename from km-persistence/src/main/resources/mybatis/ClusterBalanceReassignMapper.xml
rename to km-enterprise/km-rebalance/src/main/resources/mybatis/ClusterBalanceReassignMapper.xml
index a75cb329..aeff3781 100644
--- a/km-persistence/src/main/resources/mybatis/ClusterBalanceReassignMapper.xml
+++ b/km-enterprise/km-rebalance/src/main/resources/mybatis/ClusterBalanceReassignMapper.xml
@@ -1,9 +1,9 @@
-
+
-
+
@@ -39,16 +39,5 @@
(#{item.jobId},#{item.clusterId},#{item.topicName},#{item.partitionId},#{item.originalBrokerIds},#{item.reassignBrokerIds},#{item.startTime},#{item.finishedTime},#{item.extendData},#{item.status},#{item.createTime},#{item.updateTime})
-
-
-
- #{item}
-
diff --git a/km-extends/km-rebalance/src/test/java/com/xiaojukeji/know/streaming/km/rebalance/Test.java b/km-enterprise/km-rebalance/src/test/java/com/xiaojukeji/know/streaming/km/rebalance/Test.java
similarity index 84%
rename from km-extends/km-rebalance/src/test/java/com/xiaojukeji/know/streaming/km/rebalance/Test.java
rename to km-enterprise/km-rebalance/src/test/java/com/xiaojukeji/know/streaming/km/rebalance/Test.java
index c10deb8c..f26de8df 100644
--- a/km-extends/km-rebalance/src/test/java/com/xiaojukeji/know/streaming/km/rebalance/Test.java
+++ b/km-enterprise/km-rebalance/src/test/java/com/xiaojukeji/know/streaming/km/rebalance/Test.java
@@ -1,13 +1,13 @@
package com.xiaojukeji.know.streaming.km.rebalance;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.ExecutionRebalance;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.BalanceParameter;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.HostEnv;
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Partition;
-import com.xiaojukeji.know.streaming.km.rebalance.model.Replica;
-import com.xiaojukeji.know.streaming.km.rebalance.executor.common.OptimizerResult;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.Goal;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.ExecutionRebalance;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.BalanceParameter;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.HostEnv;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.ClusterModel;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Partition;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.model.Replica;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.executor.common.OptimizerResult;
+import com.xiaojukeji.know.streaming.km.rebalance.algorithm.optimizer.goals.Goal;
import org.apache.kafka.clients.CommonClientConfigs;
import java.util.*;
diff --git a/km-extends/km-rebalance/src/test/resources/log4j.properties b/km-enterprise/km-rebalance/src/test/resources/log4j.properties
similarity index 100%
rename from km-extends/km-rebalance/src/test/resources/log4j.properties
rename to km-enterprise/km-rebalance/src/test/resources/log4j.properties
diff --git a/km-extends/km-license/pom.xml b/km-extends/km-license/pom.xml
deleted file mode 100644
index e1f9ebc3..00000000
--- a/km-extends/km-license/pom.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-
-
- 4.0.0
- com.xiaojukeji.kafka
- km-license
- ${km.revision}
- jar
-
-
- km
- com.xiaojukeji.kafka
- ${km.revision}
- ../../pom.xml
-
-
-
-
- com.xiaojukeji.kafka
- km-common
- ${project.parent.version}
-
-
- com.xiaojukeji.kafka
- km-persistence
- ${project.parent.version}
-
-
- com.xiaojukeji.kafka
- km-core
- ${project.parent.version}
-
-
-
- javax.servlet
- javax.servlet-api
-
-
-
\ No newline at end of file
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/LicenseInterceptor.java b/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/LicenseInterceptor.java
deleted file mode 100644
index 5c6ee2a4..00000000
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/LicenseInterceptor.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.xiaojukeji.know.streaming.km.license;
-
-import com.didiglobal.logi.log.ILog;
-import com.didiglobal.logi.log.LogFactory;
-import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
-import com.xiaojukeji.know.streaming.km.common.utils.ConvertUtil;
-import com.xiaojukeji.know.streaming.km.license.service.LicenseService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-import org.springframework.web.servlet.HandlerInterceptor;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import java.io.IOException;
-import java.io.OutputStream;
-
-import static com.xiaojukeji.know.streaming.km.common.constant.ApiPrefix.API_V3_PREFIX;
-
-@Component
-public class LicenseInterceptor implements HandlerInterceptor {
- private static final ILog LOGGER = LogFactory.getLog(LicenseInterceptor.class);
-
- private static final String PHYSICAL_CLUSTER_URL = API_V3_PREFIX + "physical-clusters";
- private static final String UTF_8 = "utf-8";
-
- @Autowired
- private LicenseService licenseService;
-
- /**
- * 拦截预处理
- * @return boolean false:拦截, 不向下执行, true:放行
- */
- @Override
- public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
- if (PHYSICAL_CLUSTER_URL.equals( request.getRequestURI() ) &&
- "POST".equals( request.getMethod() )) {
-
- Result result = licenseService.addClusterLimit();
- if (result.failed()) {
- // 如果出错,构造错误信息
- OutputStream out = null;
- try {
- response.setCharacterEncoding(UTF_8);
- response.setContentType("text/json");
- out = response.getOutputStream();
- out.write(ConvertUtil.obj2Json(result).getBytes(UTF_8));
- out.flush();
- } catch (IOException e) {
- LOGGER.error( "method=preHandle||msg=physical-clusters add exception! ", e);
- } finally {
- try {
- if (out != null) {
- out.close();
- }
- } catch (IOException e) {
- LOGGER.error( "method=preHandle||msg=outputStream close exception! ", e);
- }
- }
-
- // 拒绝向下执行
- return false;
- }
- }
-
- // 未达到限制,继续后续的执行
- return true;
- }
-}
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/LicenseWebConfig.java b/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/LicenseWebConfig.java
deleted file mode 100644
index 54b0d9a3..00000000
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/LicenseWebConfig.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.xiaojukeji.know.streaming.km.license;
-
-import com.xiaojukeji.know.streaming.km.common.constant.ApiPrefix;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
-import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
-
-/**
- * @author didi
- */
-@Configuration
-public class LicenseWebConfig implements WebMvcConfigurer {
- @Autowired
- private LicenseInterceptor licenseInterceptor;
-
- @Override
- public void addInterceptors(InterceptorRegistry registry) {
- // 会进行拦截的接口
- registry.addInterceptor(licenseInterceptor).addPathPatterns(ApiPrefix.API_PREFIX + "**");
- }
-
-}
-
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/KmLicense.java b/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/KmLicense.java
deleted file mode 100644
index d378d461..00000000
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/KmLicense.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.xiaojukeji.know.streaming.km.license.bean;
-
-import lombok.Data;
-
-/**
- * @author didi
- */
-@Data
-public class KmLicense {
- private int clusters;
-}
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/KmLicenseUsageDetail.java b/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/KmLicenseUsageDetail.java
deleted file mode 100644
index ad801a18..00000000
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/KmLicenseUsageDetail.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.xiaojukeji.know.streaming.km.license.bean;
-
-import lombok.Data;
-
-import java.util.List;
-
-/**
- * @author didi
- */
-@Data
-public class KmLicenseUsageDetail {
- /**
- * 上报的 ks 的节点
- */
- private String host;
- /**
- * 上报的 ks 的集群的所有的节点
- */
- private List hosts;
- /**
- * 上报的 ks 集群中 kafka 集群数量
- */
- private int clusters;
-}
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseInfo.java b/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseInfo.java
deleted file mode 100644
index 22398c96..00000000
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseInfo.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.xiaojukeji.know.streaming.km.license.bean;
-
-import lombok.Data;
-
-/**
- * @author didi
- */
-@Data
-public class LicenseInfo {
- /**
- *
- */
- private int status;
-
- /**
- * license 过期时间,单位秒
- */
- private Long expiredDate;
-
- /**
- *
- */
- private String app;
-
- /**
- *
- */
- private String type;
-
- /**
- *
- */
- private T info;
-}
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseResult.java b/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseResult.java
deleted file mode 100644
index 86ff9ab5..00000000
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseResult.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.xiaojukeji.know.streaming.km.license.bean;
-
-import lombok.Data;
-
-/**
- * @author didi
- */
-@Data
-public class LicenseResult {
- String err;
- T reply;
-}
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseUsage.java b/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseUsage.java
deleted file mode 100644
index b7808239..00000000
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/bean/LicenseUsage.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package com.xiaojukeji.know.streaming.km.license.bean;
-
-import lombok.Data;
-
-/**
- * @author didi
- */
-@Data
-public class LicenseUsage {
- /**
- * 上报时间戳
- */
- private Long timeStamp;
-
- /**
- * uuid
- */
- private String uuid;
-
- /**
- * 业务数据
- */
- private String data;
-}
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/service/LicenseService.java b/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/service/LicenseService.java
deleted file mode 100644
index 4239ffc9..00000000
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/service/LicenseService.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package com.xiaojukeji.know.streaming.km.license.service;
-
-import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
-
-public interface LicenseService {
-
- /**
- * 是否达到了 license 现在的集群数量
- * @return
- */
- Result addClusterLimit();
-
- /**
- * 校验 license 是否通过
- * @return
- */
- Result check();
-}
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/service/impl/LicenseServiceImpl.java b/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/service/impl/LicenseServiceImpl.java
deleted file mode 100644
index 608f8760..00000000
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/service/impl/LicenseServiceImpl.java
+++ /dev/null
@@ -1,253 +0,0 @@
-package com.xiaojukeji.know.streaming.km.license.service.impl;
-
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.TypeReference;
-import com.didiglobal.logi.log.ILog;
-import com.didiglobal.logi.log.LogFactory;
-import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
-import com.xiaojukeji.know.streaming.km.common.component.RestTool;
-import com.xiaojukeji.know.streaming.km.common.utils.CommonUtils;
-import com.xiaojukeji.know.streaming.km.common.utils.NetUtils;
-import com.xiaojukeji.know.streaming.km.common.utils.Tuple;
-import com.xiaojukeji.know.streaming.km.core.service.cluster.ClusterPhyService;
-import com.xiaojukeji.know.streaming.km.core.service.km.KmNodeService;
-import com.xiaojukeji.know.streaming.km.license.service.LicenseService;
-import com.xiaojukeji.know.streaming.km.license.bean.*;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.HttpHeaders;
-import org.springframework.scheduling.annotation.Scheduled;
-import org.springframework.stereotype.Service;
-import org.springframework.util.CollectionUtils;
-import org.springframework.util.StringUtils;
-
-import javax.annotation.PostConstruct;
-import java.nio.charset.StandardCharsets;
-import java.util.*;
-import java.util.stream.Collectors;
-
-@Service
-public class LicenseServiceImpl implements LicenseService {
- private static final ILog LOGGER = LogFactory.getLog(LicenseServiceImpl.class);
-
- private static final String LICENSE_INFO_URL = "/api/license/info";
- private static final String LICENSE_USAGE_URL = "/api/license/usage";
-
- private static final String LICENSE_HEADER_TOKEN = "x-l-token";
- private static final String LICENSE_HEADER_APP = "x-l-app-name";
- private static final String LICENSE_HEADER_SIGNATURE = "x-l-signature";
-
- private static final int FAILED_NO_LICENSE = 1000000000;
- private static final int FAILED_LICENSE_EXPIRE = 1000000001;
- private static final int FAILED_LICENSE_CLUSTER_LIMIT = 1000000002;
-
- private static final int ONE_HOUR = 60 * 60 * 1000;
-
- @Value("${license.server}")
- private String licenseSrvUrl;
-
- @Value("${license.signature}")
- private String licenseSignature;
-
- @Value("${license.token}")
- private String licenseToken;
-
- @Value("${license.app-name}")
- private String appName;
-
- @Autowired
- private KmNodeService kmNodeService;
-
- @Autowired
- private ClusterPhyService clusterPhyService;
-
- @Autowired
- private RestTool restTool;
-
- private LicenseInfo kmLicense;
-
- private List licenseUsages = new ArrayList<>();
-
- @Override
- public Result addClusterLimit() {
- //对 LicenseUsage 按照时间挫,从小到大排序,即最新的在最后面
- licenseUsages.sort((o1, o2) -> o1.getTimeStamp() < o2.getTimeStamp() ? 1 : -1);
-
- List details = licenseUsages.stream()
- .map(l -> JSON.parseObject(l.getData(), KmLicenseUsageDetail.class))
- .collect(Collectors.toList());
-
- if(CollectionUtils.isEmpty(details)){return Result.buildSuc();}
-
- //Tuple.v1 : ks cluster hosts
- //Tuple.v2 : ks 集群管理的 kafka 集群个数
- List, Integer>> ksClusterHostsList = new ArrayList<>();
- ksClusterHostsList.add(new Tuple<>(details.get(0).getHosts(), details.get(0).getClusters()));
-
- //根据 hosts 是否有交集,来获取 ks 的集群列表
- for(KmLicenseUsageDetail detail : details){
- for(Tuple, Integer> tuple : ksClusterHostsList){
- if(isListIntersection(tuple.getV1(), detail.getHosts())){
- tuple.setV1(detail.getHosts());
- tuple.setV2(detail.getClusters());
- }else {
- ksClusterHostsList.add(new Tuple<>(detail.getHosts(), detail.getClusters()));
- }
- }
- }
-
- LOGGER.debug("method=addClusterLimit||details={}||ksClusterHostsList={}",
- JSON.toJSONString(details), JSON.toJSONString(ksClusterHostsList));
-
- //计算索引 ks 集群管理的 kafka 集群总个数
- final int[] totalKafkaClusterNus = {0};
- ksClusterHostsList.stream().forEach(l -> totalKafkaClusterNus[0] += l.getV2() );
-
- if(null == kmLicense) {
- return Result.buildFailure(FAILED_NO_LICENSE, "无法获取KS的License信息");
- }
-
- if(kmLicense.getInfo().getClusters() < totalKafkaClusterNus[0]) {
- return Result.buildFailure(FAILED_LICENSE_CLUSTER_LIMIT, String.format("KS管理的Kafka集群已达到License限制的%d个集群", kmLicense.getInfo().getClusters()));
- }
-
- return Result.buildSuc();
- }
-
- /**
- * 当前这个接口只做最小限度的校验,即 km-license 模块和 license 信息存在,
- * 其他异常情况,如:license-srv 临时挂掉不考虑
- * check 接口返回的异常 code、msg,就在该模块定义,不要放到 ResultStatus 中
- */
- @Override
- public Result check() {
- if(null == kmLicense){
- return Result.buildFailure(FAILED_NO_LICENSE, "无法获取KS的license信息");
- }
-
- if(System.currentTimeMillis() > kmLicense.getExpiredDate() * 1000){
- return Result.buildFailure(FAILED_LICENSE_EXPIRE, "当前KS的license已过期");
- }
-
- return Result.buildSuc();
- }
-
- @PostConstruct
- public void init(){
- syncLicenseInfo();
- }
-
- /**
- * 每10分钟同步一次
- */
- @Scheduled(cron="0 0/10 * * * ?")
- public void syncLicenseInfo(){
- try {
- saveLicenseUsageInfo();
-
- List licenseUsages = listLicenseUsageInfo();
- if(!CollectionUtils.isEmpty(licenseUsages)){
- this.licenseUsages.clear();
- this.licenseUsages.addAll(licenseUsages);
- }
-
- LicenseInfo kmLicense = this.getLicenseInfo();
- if(null != kmLicense){
- this.kmLicense = kmLicense;
- }
- } catch (Exception e){
- LOGGER.error("method=syncLicenseInfo||msg=exception!", e);
- }
- }
-
- /**************************************************** private method ****************************************************/
-
- private LicenseInfo getLicenseInfo(){
- String url = licenseSrvUrl + LICENSE_INFO_URL;
- LicenseResult ret = restTool.getForObject(
- url, genHeaders(), new TypeReference>(){});
-
- LOGGER.debug("method=getLicenseInfo||url={}||ret={}", url, JSON.toJSONString(ret));
-
- if(!StringUtils.isEmpty(ret.getErr())){
- return null;
- }
-
- byte[] encrypted = Base64.getDecoder().decode(ret.getReply().getBytes(StandardCharsets.UTF_8));
- LicenseInfo info = JSON.parseObject(
- new String(encrypted),
- new TypeReference>(){}
- );
-
- return info;
- }
-
- private List listLicenseUsageInfo(){
- String url = licenseSrvUrl + LICENSE_USAGE_URL;
- LicenseResult> ret = restTool.getForObject(
- url, genHeaders(), new TypeReference>>(){});
-
- LOGGER.debug("method=listLicenseUsageInfo||url={}||ret={}", url, JSON.toJSONString(ret));
-
- if(!StringUtils.isEmpty(ret.getErr())){
- return new ArrayList<>();
- }
-
- List licenseUsages = ret.getReply();
- if(!CollectionUtils.isEmpty(licenseUsages)){
- long now = System.currentTimeMillis();
-
- return licenseUsages.stream()
- .filter(l -> l.getTimeStamp() + 6 * ONE_HOUR > now)
- .collect(Collectors.toList());
- }
-
- return new ArrayList<>();
- }
-
- private boolean saveLicenseUsageInfo(){
- String host = NetUtils.localHost();
-
- KmLicenseUsageDetail detail = new KmLicenseUsageDetail();
- detail.setHost(host);
- detail.setHosts(kmNodeService.listKmHosts());
- detail.setClusters(clusterPhyService.listAllClusters().size());
-
- LicenseUsage licenseUsage = new LicenseUsage();
- licenseUsage.setTimeStamp(System.currentTimeMillis());
- licenseUsage.setUuid(CommonUtils.getMD5(host));
- licenseUsage.setData(JSON.toJSONString(detail));
-
- Map param = new HashMap<>();
- param.put("usageSecret", Base64.getEncoder().encodeToString(JSON.toJSONString(licenseUsage).getBytes(StandardCharsets.UTF_8)));
-
- String url = licenseSrvUrl + LICENSE_USAGE_URL;
- LicenseResult ret = restTool.putForObject(url, genHeaders(), JSON.toJSONString(param), LicenseResult.class);
-
- LOGGER.debug("method=saveLicenseUsageInfo||url={}||ret={}", url, JSON.toJSONString(ret));
-
- if(!StringUtils.isEmpty(ret.getErr())){
- return false;
- }
-
- return true;
- }
-
- private HttpHeaders genHeaders(){
- HttpHeaders headers = new HttpHeaders();
- headers.add(LICENSE_HEADER_TOKEN, licenseToken);
- headers.add(LICENSE_HEADER_APP, appName);
- headers.add(LICENSE_HEADER_SIGNATURE, licenseSignature);
- headers.add("content-type", "application/json");
- return headers;
- }
-
- /**
- * 两个 list 是否相交,是否有相同的内容
- * @return
- */
- private boolean isListIntersection(List l, List r){
- l.retainAll(r);
- return !CollectionUtils.isEmpty(l);
- }
-}
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ActionAcceptance.java b/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ActionAcceptance.java
deleted file mode 100644
index daddd907..00000000
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/ActionAcceptance.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer;
-
-public enum ActionAcceptance {
- ACCEPT, REJECT;
-}
diff --git a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/Goal.java b/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/Goal.java
deleted file mode 100644
index 679b8e7c..00000000
--- a/km-extends/km-rebalance/src/main/java/com/xiaojukeji/know/streaming/km/rebalance/optimizer/goals/Goal.java
+++ /dev/null
@@ -1,17 +0,0 @@
-package com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals;
-
-import com.xiaojukeji.know.streaming.km.rebalance.model.ClusterModel;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.ActionAcceptance;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.BalancingAction;
-import com.xiaojukeji.know.streaming.km.rebalance.optimizer.OptimizationOptions;
-
-import java.util.Set;
-
-public interface Goal {
-
- void optimize(ClusterModel clusterModel, Set optimizedGoals, OptimizationOptions optimizationOptions);
-
- String name();
-
- ActionAcceptance actionAcceptance(BalancingAction action, ClusterModel clusterModel);
-}
\ No newline at end of file
diff --git a/km-extends/km-rebalance/src/main/resources/META-INF/services/com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.Goal b/km-extends/km-rebalance/src/main/resources/META-INF/services/com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.Goal
deleted file mode 100644
index 4697e641..00000000
--- a/km-extends/km-rebalance/src/main/resources/META-INF/services/com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.Goal
+++ /dev/null
@@ -1,5 +0,0 @@
-com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.TopicLeadersDistributionGoal
-com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.TopicReplicaDistributionGoal
-com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.DiskDistributionGoal
-com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.NetworkInboundDistributionGoal
-com.xiaojukeji.know.streaming.km.rebalance.optimizer.goals.NetworkOutboundDistributionGoal
\ No newline at end of file
diff --git a/km-rest/pom.xml b/km-rest/pom.xml
index 307a9972..3ce68d86 100644
--- a/km-rest/pom.xml
+++ b/km-rest/pom.xml
@@ -39,11 +39,6 @@
km-monitor
${project.parent.version}
-
- com.xiaojukeji.kafka
- km-license
- ${project.parent.version}
-
com.xiaojukeji.kafka
km-core
diff --git a/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/api/v3/enterprise/rebalance/ClusterBalanceController.java b/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/api/v3/enterprise/rebalance/ClusterBalanceController.java
index 5731c5a3..28d97a5b 100644
--- a/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/api/v3/enterprise/rebalance/ClusterBalanceController.java
+++ b/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/api/v3/enterprise/rebalance/ClusterBalanceController.java
@@ -3,16 +3,16 @@ package com.xiaojukeji.know.streaming.km.rest.api.v3.enterprise.rebalance;
import com.didiglobal.logi.security.util.HttpRequestUtil;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceOverviewDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalancePreviewDTO;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.dto.ClusterBalanceStrategyDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceOverviewDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalancePreviewDTO;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.dto.ClusterBalanceStrategyDTO;
import com.xiaojukeji.know.streaming.km.common.bean.dto.pagination.PaginationBaseDTO;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.PaginationResult;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
import com.xiaojukeji.know.streaming.km.common.constant.ApiPrefix;
import com.xiaojukeji.know.streaming.km.common.constant.Constant;
-import com.xiaojukeji.know.streaming.km.common.enterprise.rebalance.bean.vo.*;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceService;
+import com.xiaojukeji.know.streaming.km.rebalance.common.bean.vo.*;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/controller/LicenseController.java b/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/api/v3/license/LicenseController.java
similarity index 66%
rename from km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/controller/LicenseController.java
rename to km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/api/v3/license/LicenseController.java
index e5336ffe..9d1bef61 100644
--- a/km-extends/km-license/src/main/java/com/xiaojukeji/know/streaming/km/license/controller/LicenseController.java
+++ b/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/api/v3/license/LicenseController.java
@@ -1,9 +1,7 @@
-package com.xiaojukeji.know.streaming.km.license.controller;
+package com.xiaojukeji.know.streaming.km.rest.api.v3.license;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
import com.xiaojukeji.know.streaming.km.common.constant.ApiPrefix;
-import com.xiaojukeji.know.streaming.km.license.service.LicenseService;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@@ -15,13 +13,9 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping(ApiPrefix.API_V3_PREFIX)
public class LicenseController {
-
- @Autowired
- private LicenseService licenseService;
-
@GetMapping(value = "license")
@ResponseBody
public Result check() {
- return licenseService.check();
+ return Result.buildSuc();
}
}
diff --git a/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/config/DataSourceConfig.java b/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/config/DataSourceConfig.java
index d8fdf7be..5a989964 100644
--- a/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/config/DataSourceConfig.java
+++ b/km-rest/src/main/java/com/xiaojukeji/know/streaming/km/rest/config/DataSourceConfig.java
@@ -24,7 +24,7 @@ import javax.sql.DataSource;
* @date 20/3/17
*/
@Configuration
-@MapperScan("com.xiaojukeji.know.streaming.km.persistence.mysql")
+@MapperScan({"com.xiaojukeji.know.streaming.km.persistence.mysql", "com.xiaojukeji.know.streaming.km.rebalance.persistence"})
public class DataSourceConfig {
@Bean(name = "dataSource")
@ConfigurationProperties(prefix = "spring.datasource.know-streaming")
diff --git a/km-rest/src/main/resources/application.yml b/km-rest/src/main/resources/application.yml
index ca802dc2..ee7193f0 100644
--- a/km-rest/src/main/resources/application.yml
+++ b/km-rest/src/main/resources/application.yml
@@ -119,10 +119,3 @@ management:
enabled: true
tags:
application: know-streaming
-
-# license相关配置
-license:
- app-name: know-streaming
- server: http://127.0.0.1:8778
- signature: 1234567890
- token: license-builtin-token
\ No newline at end of file
diff --git a/km-rest/src/main/resources/logback-spring.xml b/km-rest/src/main/resources/logback-spring.xml
index 118be70e..f1868349 100644
--- a/km-rest/src/main/resources/logback-spring.xml
+++ b/km-rest/src/main/resources/logback-spring.xml
@@ -219,7 +219,7 @@
-
+
diff --git a/km-task/src/main/java/com/xiaojukeji/know/streaming/km/task/enterprise/rebalance/job/ClusterBalanceJobTask.java b/km-task/src/main/java/com/xiaojukeji/know/streaming/km/task/kafka/enterprise/rebalance/job/ClusterBalanceJobTask.java
similarity index 84%
rename from km-task/src/main/java/com/xiaojukeji/know/streaming/km/task/enterprise/rebalance/job/ClusterBalanceJobTask.java
rename to km-task/src/main/java/com/xiaojukeji/know/streaming/km/task/kafka/enterprise/rebalance/job/ClusterBalanceJobTask.java
index ef1808ac..fc3e1e55 100644
--- a/km-task/src/main/java/com/xiaojukeji/know/streaming/km/task/enterprise/rebalance/job/ClusterBalanceJobTask.java
+++ b/km-task/src/main/java/com/xiaojukeji/know/streaming/km/task/kafka/enterprise/rebalance/job/ClusterBalanceJobTask.java
@@ -1,4 +1,4 @@
-package com.xiaojukeji.know.streaming.km.task.enterprise.rebalance.job;
+package com.xiaojukeji.know.streaming.km.task.kafka.enterprise.rebalance.job;
import com.didiglobal.logi.job.annotation.Task;
import com.didiglobal.logi.job.common.TaskResult;
@@ -6,9 +6,9 @@ import com.didiglobal.logi.job.core.consensual.ConsensualEnum;
import com.xiaojukeji.know.streaming.km.common.annotations.enterprise.EnterpriseLoadReBalance;
import com.xiaojukeji.know.streaming.km.common.bean.entity.cluster.ClusterPhy;
import com.xiaojukeji.know.streaming.km.common.bean.entity.result.Result;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceJobService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceReassignService;
-import com.xiaojukeji.know.streaming.km.core.enterprise.rebalance.service.ClusterBalanceService;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceJobService;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceReassignService;
+import com.xiaojukeji.know.streaming.km.rebalance.core.service.ClusterBalanceService;
import com.xiaojukeji.know.streaming.km.task.kafka.AbstractAsyncCommonDispatchTask;
import org.springframework.beans.factory.annotation.Autowired;
diff --git a/pom.xml b/pom.xml
index 84dbf9e0..ae2dc723 100644
--- a/pom.xml
+++ b/pom.xml
@@ -56,14 +56,13 @@
km-biz
km-extends/km-account
km-extends/km-monitor
- km-extends/km-rebalance
- km-extends/km-license
km-task
km-collector
km-rest
km-dist
- km-enterprise/km-ha
km-enterprise/km-testing
+ km-enterprise/km-rebalance
+ km-enterprise/km-ha