You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@inlong.apache.org by do...@apache.org on 2022/07/22 02:09:42 UTC

[inlong] branch master updated: [INLONG-5136][Manager] Update the get DataProxy cluster nodes API (#5139)

This is an automated email from the ASF dual-hosted git repository.

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new fea54ad0f [INLONG-5136][Manager] Update the get DataProxy cluster nodes API (#5139)
fea54ad0f is described below

commit fea54ad0f59fc0863b50dd158d3abd6671f50033
Author: healchow <he...@gmail.com>
AuthorDate: Fri Jul 22 10:09:36 2022 +0800

    [INLONG-5136][Manager] Update the get DataProxy cluster nodes API (#5139)
---
 .../common/pojo/dataproxy/CacheClusterObject.java  | 19 +++---
 .../pojo/dataproxy/CacheClusterSetObject.java      | 23 +++----
 .../common/pojo/dataproxy/CacheTopicObject.java    | 13 ++--
 .../pojo/dataproxy/DataProxyConfigResponse.java    | 23 +++----
 .../common/pojo/dataproxy/DataProxyNodeInfo.java   | 23 +++----
 .../pojo/dataproxy/DataProxyNodeResponse.java      | 51 +++++++++-------
 .../inlong/common/pojo/dataproxy/IRepository.java  | 13 ++--
 .../common/pojo/dataproxy/InLongIdObject.java      | 19 +++---
 .../inlong/common/pojo/dataproxy/ProxyChannel.java | 19 +++---
 .../common/pojo/dataproxy/ProxyClusterObject.java  | 35 +++++------
 .../inlong/common/pojo/dataproxy/ProxySink.java    | 23 +++----
 .../inlong/common/pojo/dataproxy/ProxySource.java  | 27 ++++----
 .../common/pojo/dataproxy/RepositoryTimerTask.java | 14 ++---
 inlong-manager/manager-service/pom.xml             |  1 -
 .../service/cluster/InlongClusterService.java      | 10 +--
 .../service/cluster/InlongClusterServiceImpl.java  | 71 ++++++++++++++--------
 .../service/cluster/InlongClusterServiceTest.java  | 22 ++++---
 .../controller/openapi/DataProxyController.java    | 35 ++++-------
 18 files changed, 236 insertions(+), 205 deletions(-)

diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheClusterObject.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheClusterObject.java
index 0df15a592..b2591c903 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheClusterObject.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheClusterObject.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -24,13 +24,14 @@ import java.util.Map;
  * CacheCluster
  */
 public class CacheClusterObject {
+
     private String name;
     private String zone;
     private Map<String, String> params = new HashMap<>();
 
     /**
      * get name
-     * 
+     *
      * @return the name
      */
     public String getName() {
@@ -39,7 +40,7 @@ public class CacheClusterObject {
 
     /**
      * set name
-     * 
+     *
      * @param name the name to set
      */
     public void setName(String name) {
@@ -48,7 +49,7 @@ public class CacheClusterObject {
 
     /**
      * get zone
-     * 
+     *
      * @return the zone
      */
     public String getZone() {
@@ -57,7 +58,7 @@ public class CacheClusterObject {
 
     /**
      * set zone
-     * 
+     *
      * @param zone the zone to set
      */
     public void setZone(String zone) {
@@ -66,7 +67,7 @@ public class CacheClusterObject {
 
     /**
      * get params
-     * 
+     *
      * @return the params
      */
     public Map<String, String> getParams() {
@@ -75,7 +76,7 @@ public class CacheClusterObject {
 
     /**
      * set params
-     * 
+     *
      * @param params the params to set
      */
     public void setParams(Map<String, String> params) {
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheClusterSetObject.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheClusterSetObject.java
index 156a90fb7..00b3769d2 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheClusterSetObject.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheClusterSetObject.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -24,6 +24,7 @@ import java.util.List;
  * CacheClusterSet
  */
 public class CacheClusterSetObject {
+
     private String setName;
     private String type;
     private List<CacheClusterObject> cacheClusters = new ArrayList<>();
@@ -31,7 +32,7 @@ public class CacheClusterSetObject {
 
     /**
      * get setName
-     * 
+     *
      * @return the setName
      */
     public String getSetName() {
@@ -40,7 +41,7 @@ public class CacheClusterSetObject {
 
     /**
      * set setName
-     * 
+     *
      * @param setName the setName to set
      */
     public void setSetName(String setName) {
@@ -49,7 +50,7 @@ public class CacheClusterSetObject {
 
     /**
      * get type
-     * 
+     *
      * @return the type
      */
     public String getType() {
@@ -58,7 +59,7 @@ public class CacheClusterSetObject {
 
     /**
      * set type
-     * 
+     *
      * @param type the type to set
      */
     public void setType(String type) {
@@ -67,7 +68,7 @@ public class CacheClusterSetObject {
 
     /**
      * get cacheClusters
-     * 
+     *
      * @return the cacheClusters
      */
     public List<CacheClusterObject> getCacheClusters() {
@@ -76,7 +77,7 @@ public class CacheClusterSetObject {
 
     /**
      * set cacheClusters
-     * 
+     *
      * @param cacheClusters the cacheClusters to set
      */
     public void setCacheClusters(List<CacheClusterObject> cacheClusters) {
@@ -85,7 +86,7 @@ public class CacheClusterSetObject {
 
     /**
      * get topics
-     * 
+     *
      * @return the topics
      */
     public List<CacheTopicObject> getTopics() {
@@ -94,7 +95,7 @@ public class CacheClusterSetObject {
 
     /**
      * set topics
-     * 
+     *
      * @param topics the topics to set
      */
     public void setTopics(List<CacheTopicObject> topics) {
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheTopicObject.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheTopicObject.java
index d58621410..cacaa5cec 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheTopicObject.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/CacheTopicObject.java
@@ -1,10 +1,10 @@
 /*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -21,12 +21,13 @@ package org.apache.inlong.common.pojo.dataproxy;
  * CacheTopic
  */
 public class CacheTopicObject {
+
     private String topic;
     private Integer partitionNum;
 
     /**
      * get topic
-     * 
+     *
      * @return the topic
      */
     public String getTopic() {
@@ -35,7 +36,7 @@ public class CacheTopicObject {
 
     /**
      * set topic
-     * 
+     *
      * @param topic the topic to set
      */
     public void setTopic(String topic) {
@@ -44,7 +45,7 @@ public class CacheTopicObject {
 
     /**
      * get partitionNum
-     * 
+     *
      * @return the partitionNum
      */
     public Integer getPartitionNum() {
@@ -53,7 +54,7 @@ public class CacheTopicObject {
 
     /**
      * set partitionNum
-     * 
+     *
      * @param partitionNum the partitionNum to set
      */
     public void setPartitionNum(Integer partitionNum) {
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyConfigResponse.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyConfigResponse.java
index 3809328c3..7e6cc06b9 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyConfigResponse.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyConfigResponse.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -21,6 +21,7 @@ package org.apache.inlong.common.pojo.dataproxy;
  * DataProxyConfigResponse
  */
 public class DataProxyConfigResponse {
+
     public static final int SUCC = 0; // success
     public static final int NOUPDATE = 1; // no update, for same md5
     public static final int FAIL = -1; // general error
@@ -33,7 +34,7 @@ public class DataProxyConfigResponse {
 
     /**
      * get result
-     * 
+     *
      * @return the result
      */
     public Boolean isResult() {
@@ -42,7 +43,7 @@ public class DataProxyConfigResponse {
 
     /**
      * set result
-     * 
+     *
      * @param result the result to set
      */
     public void setResult(Boolean result) {
@@ -51,7 +52,7 @@ public class DataProxyConfigResponse {
 
     /**
      * get errCode
-     * 
+     *
      * @return the errCode
      */
     public Integer getErrCode() {
@@ -60,7 +61,7 @@ public class DataProxyConfigResponse {
 
     /**
      * set errCode
-     * 
+     *
      * @param errCode the errCode to set
      */
     public void setErrCode(Integer errCode) {
@@ -69,7 +70,7 @@ public class DataProxyConfigResponse {
 
     /**
      * get md5
-     * 
+     *
      * @return the md5
      */
     public String getMd5() {
@@ -78,7 +79,7 @@ public class DataProxyConfigResponse {
 
     /**
      * set md5
-     * 
+     *
      * @param md5 the md5 to set
      */
     public void setMd5(String md5) {
@@ -87,7 +88,7 @@ public class DataProxyConfigResponse {
 
     /**
      * get data
-     * 
+     *
      * @return the data
      */
     public DataProxyCluster getData() {
@@ -96,7 +97,7 @@ public class DataProxyConfigResponse {
 
     /**
      * set data
-     * 
+     *
      * @param data the data to set
      */
     public void setData(DataProxyCluster data) {
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyNodeInfo.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyNodeInfo.java
similarity index 66%
copy from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyNodeInfo.java
copy to inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyNodeInfo.java
index b74f5726e..6425348a8 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyNodeInfo.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyNodeInfo.java
@@ -15,32 +15,29 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.dataproxy;
+package org.apache.inlong.common.pojo.dataproxy;
 
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 /**
  * Data proxy node info.
  */
 @Data
-@ApiModel("DataProxy node info")
 public class DataProxyNodeInfo {
 
-    @ApiModelProperty(value = "Cluster id")
+    /**
+     * DataProxy node id
+     */
     private Integer id;
 
-    @ApiModelProperty(value = "Parent cluster id")
-    private Integer parentId;
-
-    @ApiModelProperty(value = "Node IP")
+    /**
+     * Node IP
+     */
     private String ip;
 
-    @ApiModelProperty(value = "Node port")
+    /**
+     * Node port
+     */
     private Integer port;
 
-    @ApiModelProperty(value = "Cluster ip type, default: all")
-    private String netTag;
-
 }
diff --git a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyNodeInfo.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyNodeResponse.java
similarity index 56%
rename from inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyNodeInfo.java
rename to inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyNodeResponse.java
index b74f5726e..a8a935561 100644
--- a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/dataproxy/DataProxyNodeInfo.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/DataProxyNodeResponse.java
@@ -15,32 +15,41 @@
  * limitations under the License.
  */
 
-package org.apache.inlong.manager.common.pojo.dataproxy;
+package org.apache.inlong.common.pojo.dataproxy;
 
-import io.swagger.annotations.ApiModel;
-import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.util.List;
+
 /**
- * Data proxy node info.
+ * DataProxy node response, used for DataProxy SDK.
  */
 @Data
-@ApiModel("DataProxy node info")
-public class DataProxyNodeInfo {
-
-    @ApiModelProperty(value = "Cluster id")
-    private Integer id;
-
-    @ApiModelProperty(value = "Parent cluster id")
-    private Integer parentId;
-
-    @ApiModelProperty(value = "Node IP")
-    private String ip;
-
-    @ApiModelProperty(value = "Node port")
-    private Integer port;
-
-    @ApiModelProperty(value = "Cluster ip type, default: all")
-    private String netTag;
+public class DataProxyNodeResponse {
+
+    /**
+     * DataProxy cluster id
+     */
+    private Integer clusterId;
+
+    /**
+     * Is the DataProxy cluster an intranet? 0: no, 1: yes
+     */
+    private Integer isIntranet;
+
+    /**
+     * Is the DataProxy cluster in a switch status? 0: no, 1: yes
+     */
+    private Integer isSwitch;
+
+    /**
+     * Load of the DataProxy cluster, default is 20
+     */
+    private Integer load = 20;
+
+    /**
+     * List of the cluster node
+     */
+    private List<DataProxyNodeInfo> nodeList;
 
 }
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/IRepository.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/IRepository.java
index 86a2dffaa..286011ff7 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/IRepository.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/IRepository.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -21,9 +21,10 @@ package org.apache.inlong.common.pojo.dataproxy;
  * IRepository
  */
 public interface IRepository {
-    public static final long DEFAULT_HEARTBEAT_INTERVAL_MS = 60000;
-    public static final String SEPARATOR = "&";
-    public static final String KEY_VALUE_SEPARATOR = "=";
+
+    long DEFAULT_HEARTBEAT_INTERVAL_MS = 60000;
+    String SEPARATOR = "&";
+    String KEY_VALUE_SEPARATOR = "=";
 
     void reload();
 }
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/InLongIdObject.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/InLongIdObject.java
index db2735070..8ebeb7a50 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/InLongIdObject.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/InLongIdObject.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -24,13 +24,14 @@ import java.util.Map;
  * InLongId
  */
 public class InLongIdObject {
+
     private String inlongId;
     private String topic;
     private Map<String, String> params = new HashMap<>();
 
     /**
      * get inlongId
-     * 
+     *
      * @return the inlongId
      */
     public String getInlongId() {
@@ -39,7 +40,7 @@ public class InLongIdObject {
 
     /**
      * set inlongId
-     * 
+     *
      * @param inlongId the inlongId to set
      */
     public void setInlongId(String inlongId) {
@@ -48,7 +49,7 @@ public class InLongIdObject {
 
     /**
      * get topic
-     * 
+     *
      * @return the topic
      */
     public String getTopic() {
@@ -57,7 +58,7 @@ public class InLongIdObject {
 
     /**
      * set topic
-     * 
+     *
      * @param topic the topic to set
      */
     public void setTopic(String topic) {
@@ -66,7 +67,7 @@ public class InLongIdObject {
 
     /**
      * get params
-     * 
+     *
      * @return the params
      */
     public Map<String, String> getParams() {
@@ -75,7 +76,7 @@ public class InLongIdObject {
 
     /**
      * set params
-     * 
+     *
      * @param params the params to set
      */
     public void setParams(Map<String, String> params) {
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxyChannel.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxyChannel.java
index 322cdb2a0..70c74195a 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxyChannel.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxyChannel.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -24,13 +24,14 @@ import java.util.Map;
  * DataProxyChannel
  */
 public class ProxyChannel {
+
     private String name;
     private String type;
     private Map<String, String> params = new HashMap<>();
 
     /**
      * get name
-     * 
+     *
      * @return the name
      */
     public String getName() {
@@ -39,7 +40,7 @@ public class ProxyChannel {
 
     /**
      * set name
-     * 
+     *
      * @param name the name to set
      */
     public void setName(String name) {
@@ -48,7 +49,7 @@ public class ProxyChannel {
 
     /**
      * get type
-     * 
+     *
      * @return the type
      */
     public String getType() {
@@ -57,7 +58,7 @@ public class ProxyChannel {
 
     /**
      * set type
-     * 
+     *
      * @param type the type to set
      */
     public void setType(String type) {
@@ -66,7 +67,7 @@ public class ProxyChannel {
 
     /**
      * get params
-     * 
+     *
      * @return the params
      */
     public Map<String, String> getParams() {
@@ -75,7 +76,7 @@ public class ProxyChannel {
 
     /**
      * set params
-     * 
+     *
      * @param params the params to set
      */
     public void setParams(Map<String, String> params) {
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxyClusterObject.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxyClusterObject.java
index 4fbec1a56..7d5c107e2 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxyClusterObject.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxyClusterObject.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -24,6 +24,7 @@ import java.util.List;
  * DataProxyCluster
  */
 public class ProxyClusterObject {
+
     private String name;
     private String setName;
     private String zone;
@@ -34,7 +35,7 @@ public class ProxyClusterObject {
 
     /**
      * get name
-     * 
+     *
      * @return the name
      */
     public String getName() {
@@ -43,7 +44,7 @@ public class ProxyClusterObject {
 
     /**
      * set name
-     * 
+     *
      * @param name the name to set
      */
     public void setName(String name) {
@@ -52,7 +53,7 @@ public class ProxyClusterObject {
 
     /**
      * get setName
-     * 
+     *
      * @return the setName
      */
     public String getSetName() {
@@ -61,7 +62,7 @@ public class ProxyClusterObject {
 
     /**
      * set setName
-     * 
+     *
      * @param setName the setName to set
      */
     public void setSetName(String setName) {
@@ -70,7 +71,7 @@ public class ProxyClusterObject {
 
     /**
      * get zone
-     * 
+     *
      * @return the zone
      */
     public String getZone() {
@@ -79,7 +80,7 @@ public class ProxyClusterObject {
 
     /**
      * set zone
-     * 
+     *
      * @param zone the zone to set
      */
     public void setZone(String zone) {
@@ -88,7 +89,7 @@ public class ProxyClusterObject {
 
     /**
      * get channels
-     * 
+     *
      * @return the channels
      */
     public List<ProxyChannel> getChannels() {
@@ -97,7 +98,7 @@ public class ProxyClusterObject {
 
     /**
      * set channels
-     * 
+     *
      * @param channels the channels to set
      */
     public void setChannels(List<ProxyChannel> channels) {
@@ -106,7 +107,7 @@ public class ProxyClusterObject {
 
     /**
      * get inlongIds
-     * 
+     *
      * @return the inlongIds
      */
     public List<InLongIdObject> getInlongIds() {
@@ -115,7 +116,7 @@ public class ProxyClusterObject {
 
     /**
      * set inlongIds
-     * 
+     *
      * @param inlongIds the inlongIds to set
      */
     public void setInlongIds(List<InLongIdObject> inlongIds) {
@@ -124,7 +125,7 @@ public class ProxyClusterObject {
 
     /**
      * get sources
-     * 
+     *
      * @return the sources
      */
     public List<ProxySource> getSources() {
@@ -133,7 +134,7 @@ public class ProxyClusterObject {
 
     /**
      * set sources
-     * 
+     *
      * @param sources the sources to set
      */
     public void setSources(List<ProxySource> sources) {
@@ -142,7 +143,7 @@ public class ProxyClusterObject {
 
     /**
      * get sinks
-     * 
+     *
      * @return the sinks
      */
     public List<ProxySink> getSinks() {
@@ -151,7 +152,7 @@ public class ProxyClusterObject {
 
     /**
      * set sinks
-     * 
+     *
      * @param sinks the sinks to set
      */
     public void setSinks(List<ProxySink> sinks) {
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxySink.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxySink.java
index c3456ef6f..d1d03a791 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxySink.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxySink.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -24,6 +24,7 @@ import java.util.Map;
  * DataProxySink
  */
 public class ProxySink {
+
     private String name;
     private String type;
     private String channel;
@@ -31,7 +32,7 @@ public class ProxySink {
 
     /**
      * get name
-     * 
+     *
      * @return the name
      */
     public String getName() {
@@ -40,7 +41,7 @@ public class ProxySink {
 
     /**
      * set name
-     * 
+     *
      * @param name the name to set
      */
     public void setName(String name) {
@@ -49,7 +50,7 @@ public class ProxySink {
 
     /**
      * get type
-     * 
+     *
      * @return the type
      */
     public String getType() {
@@ -58,7 +59,7 @@ public class ProxySink {
 
     /**
      * set type
-     * 
+     *
      * @param type the type to set
      */
     public void setType(String type) {
@@ -67,7 +68,7 @@ public class ProxySink {
 
     /**
      * get channel
-     * 
+     *
      * @return the channel
      */
     public String getChannel() {
@@ -76,7 +77,7 @@ public class ProxySink {
 
     /**
      * set channel
-     * 
+     *
      * @param channel the channel to set
      */
     public void setChannel(String channel) {
@@ -85,7 +86,7 @@ public class ProxySink {
 
     /**
      * get params
-     * 
+     *
      * @return the params
      */
     public Map<String, String> getParams() {
@@ -94,7 +95,7 @@ public class ProxySink {
 
     /**
      * set params
-     * 
+     *
      * @param params the params to set
      */
     public void setParams(Map<String, String> params) {
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxySource.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxySource.java
index aaa5c7ea6..0555f61c2 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxySource.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/ProxySource.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -26,6 +26,7 @@ import java.util.Map;
  * DataProxySource
  */
 public class ProxySource {
+
     private String name;
     private String type;
     private String selectorType;
@@ -34,7 +35,7 @@ public class ProxySource {
 
     /**
      * get name
-     * 
+     *
      * @return the name
      */
     public String getName() {
@@ -43,7 +44,7 @@ public class ProxySource {
 
     /**
      * set name
-     * 
+     *
      * @param name the name to set
      */
     public void setName(String name) {
@@ -52,7 +53,7 @@ public class ProxySource {
 
     /**
      * get type
-     * 
+     *
      * @return the type
      */
     public String getType() {
@@ -61,7 +62,7 @@ public class ProxySource {
 
     /**
      * set type
-     * 
+     *
      * @param type the type to set
      */
     public void setType(String type) {
@@ -70,7 +71,7 @@ public class ProxySource {
 
     /**
      * get selectorType
-     * 
+     *
      * @return the selectorType
      */
     public String getSelectorType() {
@@ -79,7 +80,7 @@ public class ProxySource {
 
     /**
      * set selectorType
-     * 
+     *
      * @param selectorType the selectorType to set
      */
     public void setSelectorType(String selectorType) {
@@ -88,7 +89,7 @@ public class ProxySource {
 
     /**
      * get channels
-     * 
+     *
      * @return the channels
      */
     public List<String> getChannels() {
@@ -97,7 +98,7 @@ public class ProxySource {
 
     /**
      * set channels
-     * 
+     *
      * @param channels the channels to set
      */
     public void setChannels(List<String> channels) {
@@ -106,7 +107,7 @@ public class ProxySource {
 
     /**
      * get params
-     * 
+     *
      * @return the params
      */
     public Map<String, String> getParams() {
@@ -115,7 +116,7 @@ public class ProxySource {
 
     /**
      * set params
-     * 
+     *
      * @param params the params to set
      */
     public void setParams(Map<String, String> params) {
diff --git a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/RepositoryTimerTask.java b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/RepositoryTimerTask.java
index a18a03ce4..a93e7f40b 100644
--- a/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/RepositoryTimerTask.java
+++ b/inlong-common/src/main/java/org/apache/inlong/common/pojo/dataproxy/RepositoryTimerTask.java
@@ -1,10 +1,10 @@
-/**
+/*
  * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
+ * contributor license agreements. See the NOTICE file distributed with
  * this work for additional information regarding copyright ownership.
  * The ASF licenses this file to You under the Apache License, Version 2.0
  * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
+ * the License. You may obtain a copy of the License at
  *
  * http://www.apache.org/licenses/LICENSE-2.0
  *
@@ -17,18 +17,18 @@
 
 package org.apache.inlong.common.pojo.dataproxy;
 
-import java.util.TimerTask;
-
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.TimerTask;
+
 /**
  * RepositoryTimerTask
  */
 public class RepositoryTimerTask<T extends IRepository> extends TimerTask {
 
     private static final Logger LOGGER = LoggerFactory.getLogger(RepositoryTimerTask.class);
-    private T repository;
+    private final T repository;
 
     public RepositoryTimerTask(T repository) {
         this.repository = repository;
@@ -39,7 +39,7 @@ public class RepositoryTimerTask<T extends IRepository> extends TimerTask {
         try {
             repository.reload();
         } catch (Throwable e) {
-            LOGGER.error(e.getMessage(), e);
+            LOGGER.error("reload repository timer task error: ", e);
         }
     }
 }
diff --git a/inlong-manager/manager-service/pom.xml b/inlong-manager/manager-service/pom.xml
index da4c8739f..d0efec3e2 100644
--- a/inlong-manager/manager-service/pom.xml
+++ b/inlong-manager/manager-service/pom.xml
@@ -506,7 +506,6 @@
             <artifactId>junit-jupiter</artifactId>
             <scope>test</scope>
         </dependency>
-
         <dependency>
             <groupId>org.powermock</groupId>
             <artifactId>powermock-module-junit4</artifactId>
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterService.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterService.java
index 80f99dd31..92eccd1f9 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterService.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterService.java
@@ -19,6 +19,7 @@ package org.apache.inlong.manager.service.cluster;
 
 import com.github.pagehelper.PageInfo;
 import org.apache.inlong.common.pojo.dataproxy.DataProxyConfig;
+import org.apache.inlong.common.pojo.dataproxy.DataProxyNodeResponse;
 import org.apache.inlong.manager.common.pojo.cluster.BindTagRequest;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterInfo;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterNodeRequest;
@@ -28,7 +29,6 @@ import org.apache.inlong.manager.common.pojo.cluster.ClusterRequest;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterTagPageRequest;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterTagRequest;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterTagResponse;
-import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyNodeInfo;
 
 import java.util.List;
 
@@ -199,12 +199,12 @@ public interface InlongClusterService {
     Boolean deleteNode(Integer id, String operator);
 
     /**
-     * Query data proxy nodes by the given cluster tag and name.
+     * Query data proxy nodes by the given inlong group id.
      *
-     * @param request request params
-     * @return data proxy node list
+     * @param inlongGroupId inlong group id
+     * @return data proxy node response
      */
-    List<DataProxyNodeInfo> getDataProxyNodeList(ClusterPageRequest request);
+    DataProxyNodeResponse getDataProxyNodes(String inlongGroupId);
 
     /**
      * Get the configuration of DataProxy through the cluster name to which DataProxy belongs.
diff --git a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
index c1b213b19..ece0513ef 100644
--- a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
+++ b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceImpl.java
@@ -28,6 +28,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.apache.inlong.common.pojo.dataproxy.DataProxyCluster;
 import org.apache.inlong.common.pojo.dataproxy.DataProxyConfig;
 import org.apache.inlong.common.pojo.dataproxy.DataProxyConfigResponse;
+import org.apache.inlong.common.pojo.dataproxy.DataProxyNodeInfo;
+import org.apache.inlong.common.pojo.dataproxy.DataProxyNodeResponse;
 import org.apache.inlong.common.pojo.dataproxy.DataProxyTopicInfo;
 import org.apache.inlong.common.pojo.dataproxy.MQClusterInfo;
 import org.apache.inlong.manager.common.consts.InlongConstants;
@@ -47,7 +49,6 @@ import org.apache.inlong.manager.common.pojo.cluster.ClusterTagPageRequest;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterTagRequest;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterTagResponse;
 import org.apache.inlong.manager.common.pojo.cluster.pulsar.PulsarClusterDTO;
-import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyNodeInfo;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupBriefInfo;
 import org.apache.inlong.manager.common.pojo.group.InlongGroupPageRequest;
 import org.apache.inlong.manager.common.pojo.stream.InlongStreamBriefInfo;
@@ -568,32 +569,52 @@ public class InlongClusterServiceImpl implements InlongClusterService {
     }
 
     @Override
-    public List<DataProxyNodeInfo> getDataProxyNodeList(ClusterPageRequest request) {
-        LOGGER.debug("begin to list data proxy node for request={}", request);
+    public DataProxyNodeResponse getDataProxyNodes(String inlongGroupId) {
+        LOGGER.debug("begin to get data proxy nodes for inlongGroupId={}", inlongGroupId);
+        InlongGroupEntity groupEntity = groupMapper.selectByGroupId(inlongGroupId);
+        if (groupEntity == null) {
+            String msg = "inlong group not exists for inlongGroupId=" + inlongGroupId;
+            LOGGER.debug(msg);
+            throw new BusinessException(msg);
+        }
 
-        request.setType(ClusterType.DATA_PROXY);
-        List<InlongClusterEntity> clusterList = clusterMapper.selectByCondition(request);
-        Preconditions.checkNotEmpty(clusterList,
-                "data proxy node not found by request=" + request);
-
-        List<DataProxyNodeInfo> responseList = new ArrayList<>();
-        for (InlongClusterEntity cluster : clusterList) {
-            Integer clusterId = cluster.getId();
-            List<InlongClusterNodeEntity> nodeList = clusterNodeMapper.selectByParentId(clusterId);
-            for (InlongClusterNodeEntity nodeEntity : nodeList) {
-                DataProxyNodeInfo response = new DataProxyNodeInfo();
-                response.setId(nodeEntity.getId());
-                response.setParentId(clusterId);
-                response.setIp(nodeEntity.getIp());
-                response.setPort(nodeEntity.getPort());
-                responseList.add(response);
-            }
+        String clusterTag = groupEntity.getInlongClusterTag();
+        if (StringUtils.isBlank(clusterTag)) {
+            String msg = "not found any cluster tag for inlongGroupId=" + inlongGroupId;
+            LOGGER.debug(msg);
+            throw new BusinessException(msg);
+        }
+
+        List<InlongClusterEntity> clusterList = clusterMapper.selectByKey(clusterTag, null, ClusterType.DATA_PROXY);
+        if (CollectionUtils.isEmpty(clusterList)) {
+            String msg = "not found any data proxy cluster for inlongGroupId=" + inlongGroupId
+                    + " and clusterTag=" + clusterTag;
+            LOGGER.debug(msg);
+            throw new BusinessException(msg);
+        }
+
+        // if more than one data proxy cluster, currently takes first
+        // TODO consider the data proxy load and re-balance
+        InlongClusterEntity clusterEntity = clusterList.get(0);
+        Integer clusterId = clusterEntity.getId();
+        List<InlongClusterNodeEntity> nodeList = clusterNodeMapper.selectByParentId(clusterId);
+        List<DataProxyNodeInfo> nodeInfos = new ArrayList<>();
+        for (InlongClusterNodeEntity nodeEntity : nodeList) {
+            DataProxyNodeInfo nodeInfo = new DataProxyNodeInfo();
+            nodeInfo.setId(nodeEntity.getId());
+            nodeInfo.setIp(nodeEntity.getIp());
+            nodeInfo.setPort(nodeEntity.getPort());
+            nodeInfos.add(nodeInfo);
         }
 
+        DataProxyNodeResponse response = new DataProxyNodeResponse();
+        response.setClusterId(clusterId);
+        response.setNodeList(nodeInfos);
+
         if (LOGGER.isDebugEnabled()) {
-            LOGGER.debug("success to list data proxy node for request={}", request);
+            LOGGER.debug("success to get data proxy nodes for inlongGroupId={}, result={}", inlongGroupId, response);
         }
-        return responseList;
+        return response;
     }
 
     @Override
@@ -609,7 +630,7 @@ public class InlongClusterServiceImpl implements InlongClusterService {
         List<InlongClusterEntity> clusterList = clusterMapper.selectByCondition(request);
         DataProxyConfig result = new DataProxyConfig();
         if (CollectionUtils.isEmpty(clusterList)) {
-            LOGGER.warn("GetDPConfig: data proxy cluster not found by tag={} name={}", clusterTag, clusterName);
+            LOGGER.warn("GetDPConfig: not found data proxy cluster by tag={} name={}", clusterTag, clusterName);
             return result;
         }
 
@@ -624,7 +645,7 @@ public class InlongClusterServiceImpl implements InlongClusterService {
 
         List<InlongGroupBriefInfo> groupList = groupMapper.selectBriefList(groupRequest);
         if (CollectionUtils.isEmpty(groupList)) {
-            LOGGER.warn("GetDPConfig: no inlong group found with success status by cluster tags={}", clusterTagList);
+            LOGGER.warn("GetDPConfig: not found inlong group with success status by cluster tags={}", clusterTagList);
             return result;
         }
 
@@ -643,7 +664,7 @@ public class InlongClusterServiceImpl implements InlongClusterService {
                     List<InlongClusterEntity> pulsarClusters = clusterMapper.selectByKey(realClusterTag, null,
                             ClusterType.PULSAR);
                     if (CollectionUtils.isEmpty(pulsarClusters)) {
-                        LOGGER.error("GetDPConfig: pulsar cluster not found by cluster tag={}", realClusterTag);
+                        LOGGER.error("GetDPConfig: not found pulsar cluster by cluster tag={}", realClusterTag);
                         continue;
                     }
 
diff --git a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceTest.java b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceTest.java
index 853d4893a..f1567e7db 100644
--- a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceTest.java
+++ b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/cluster/InlongClusterServiceTest.java
@@ -18,15 +18,18 @@
 package org.apache.inlong.manager.service.cluster;
 
 import com.github.pagehelper.PageInfo;
+import org.apache.inlong.common.pojo.dataproxy.DataProxyNodeInfo;
+import org.apache.inlong.common.pojo.dataproxy.DataProxyNodeResponse;
 import org.apache.inlong.manager.common.enums.ClusterType;
+import org.apache.inlong.manager.common.enums.MQType;
+import org.apache.inlong.manager.common.pojo.cluster.ClusterInfo;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterNodeRequest;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterNodeResponse;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterInfo;
 import org.apache.inlong.manager.common.pojo.cluster.ClusterPageRequest;
 import org.apache.inlong.manager.common.pojo.cluster.dataproxy.DataProxyClusterRequest;
 import org.apache.inlong.manager.common.pojo.cluster.pulsar.PulsarClusterInfo;
 import org.apache.inlong.manager.common.pojo.cluster.pulsar.PulsarClusterRequest;
-import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyNodeInfo;
+import org.apache.inlong.manager.common.pojo.group.InlongGroupInfo;
 import org.apache.inlong.manager.service.ServiceBaseTest;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.Test;
@@ -213,12 +216,15 @@ public class InlongClusterServiceTest extends ServiceBaseTest {
         Integer nodeId2 = this.saveClusterNode(id, ClusterType.DATA_PROXY, ip, port2);
         Assertions.assertNotNull(nodeId2);
 
-        // Get the data proxy cluster ip list, the first port should is p1, second port is p2
-        ClusterPageRequest request = new ClusterPageRequest();
-        request.setName(clusterName);
-        request.setClusterTag(clusterTag);
-        request.setExtTag(extTag);
-        List<DataProxyNodeInfo> ipList = clusterService.getDataProxyNodeList(request);
+        // create an inlong group which use the clusterTag
+        String inlongGroupId = "test_cluster_tag_group";
+        InlongGroupInfo inlongGroup = super.createInlongGroup(inlongGroupId, MQType.MQ_PULSAR);
+        inlongGroup.setInlongClusterTag(clusterTag);
+        groupService.update(inlongGroup.genRequest(), GLOBAL_OPERATOR);
+
+        // get the data proxy nodes, the first port should is p1, second port is p2
+        DataProxyNodeResponse nodeResponse = clusterService.getDataProxyNodes(inlongGroupId);
+        List<DataProxyNodeInfo> ipList = nodeResponse.getNodeList();
         Assertions.assertEquals(ipList.size(), 2);
         Assertions.assertEquals(port1, ipList.get(0).getPort());
         Assertions.assertEquals(port2, ipList.get(1).getPort());
diff --git a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java
index a3b7e1284..98f77f6dd 100644
--- a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java
+++ b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/DataProxyController.java
@@ -17,30 +17,25 @@
 
 package org.apache.inlong.manager.web.controller.openapi;
 
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.inlong.common.pojo.dataproxy.DataProxyConfig;
+import org.apache.inlong.common.pojo.dataproxy.DataProxyNodeResponse;
 import org.apache.inlong.manager.common.beans.Response;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterPageRequest;
-import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyNodeInfo;
 import org.apache.inlong.manager.service.cluster.InlongClusterService;
 import org.apache.inlong.manager.service.repository.DataProxyConfigRepository;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Lazy;
 import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
-
 /**
  * Data proxy controller.
  */
@@ -55,10 +50,10 @@ public class DataProxyController {
     @Autowired
     private DataProxyConfigRepository dataProxyConfigRepository;
 
-    @PostMapping(value = "/dataproxy/getIpList")
-    @ApiOperation(value = "Get data proxy ip list by cluster name and tag")
-    public Response<List<DataProxyNodeInfo>> getIpList(@RequestBody ClusterPageRequest request) {
-        return Response.success(clusterService.getDataProxyNodeList(request));
+    @GetMapping(value = "/dataproxy/getIpList/{inlongGroupId}")
+    @ApiOperation(value = "Get data proxy IP list by InlongGroupId")
+    public Response<DataProxyNodeResponse> getIpList(@PathVariable String inlongGroupId) {
+        return Response.success(clusterService.getDataProxyNodes(inlongGroupId));
     }
 
     @GetMapping("/dataproxy/getConfig")
@@ -87,22 +82,16 @@ public class DataProxyController {
         return clusterService.getAllConfig(clusterName, md5);
     }
 
-    /**
-     * changeClusterTag
-     */
     @RequestMapping(value = "/changeClusterTag", method = RequestMethod.PUT)
-    @ApiOperation(value = "Change cluster tag and topic of a inlong group id.")
+    @ApiOperation(value = "Change cluster tag and topic for inlong group id")
     public Response<String> changeClusterTag(@RequestParam String inlongGroupId, @RequestParam String clusterTag,
             @RequestParam String topic) {
         String result = dataProxyConfigRepository.changeClusterTag(inlongGroupId, clusterTag, topic);
         return Response.success(result);
     }
 
-    /**
-     * removeBackupClusterTag
-     */
     @RequestMapping(value = "/removeBackupClusterTag", method = RequestMethod.PUT)
-    @ApiOperation(value = "remove backup cluster tag and topic of a inlong group id.")
+    @ApiOperation(value = "Remove backup cluster tag and topic for inlong group id")
     public Response<String> removeBackupClusterTag(@RequestParam String inlongGroupId) {
         String result = dataProxyConfigRepository.removeBackupClusterTag(inlongGroupId);
         return Response.success(result);