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

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


The following commit(s) were added to refs/heads/master by this push:
     new 10e22ee24 [INLONG-4512][Manager] Remove third_party_cluster, 
data_proxy_cluster tables and related classes (#4514)
10e22ee24 is described below

commit 10e22ee24dbdc22d7cc644f31d3df0d9c5cd55a1
Author: healzhou <[email protected]>
AuthorDate: Sun Jun 5 23:21:58 2022 +0800

    [INLONG-4512][Manager] Remove third_party_cluster, data_proxy_cluster 
tables and related classes (#4514)
---
 .../common/pojo/cluster/ClusterNodeRequest.java    |   8 +-
 .../pojo/cluster/InlongClusterPageRequest.java     |   5 +
 .../manager/dao/entity/DataProxyClusterEntity.java |  48 ---
 .../dao/entity/ThirdPartyClusterEntity.java        |  51 ---
 .../dao/mapper/DataProxyClusterEntityMapper.java   |  45 ---
 .../dao/mapper/InlongClusterEntityMapper.java      |   6 +
 .../dao/mapper/ThirdPartyClusterEntityMapper.java  |  53 ---
 .../mappers/DataProxyClusterEntityMapper.xml       | 262 ---------------
 .../mappers/InlongClusterEntityMapper.xml          |  19 +-
 .../mappers/ThirdPartyClusterEntityMapper.xml      | 325 -------------------
 .../manager/service/CommonOperateService.java      |  27 +-
 .../service/core/DataProxyClusterService.java      |  32 --
 .../manager/service/core/InlongClusterService.java |  17 +-
 .../service/core/ThirdPartyClusterService.java     | 102 ------
 .../core/impl/DataProxyClusterServiceImpl.java     |  79 -----
 .../core/impl/InlongClusterServiceImpl.java        | 229 ++++++++++---
 .../core/impl/ThirdPartyClusterServiceImpl.java    | 355 ---------------------
 .../repository/DataProxyConfigRepository.java      |  12 -
 .../core/impl/InlongClusterServiceTest.java        |  52 ++-
 .../main/resources/sql/apache_inlong_manager.sql   |  50 ---
 .../manager-web/sql/apache_inlong_manager.sql      |  52 ---
 .../web/controller/InlongClusterController.java    |   2 +-
 .../web/controller/openapi/AgentController.java    |  19 +-
 .../controller/openapi/DataProxyController.java    |  46 +--
 .../controller/openapi/OpenClusterController.java  |  28 +-
 25 files changed, 332 insertions(+), 1592 deletions(-)

diff --git 
a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/ClusterNodeRequest.java
 
b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/ClusterNodeRequest.java
index c1d1d31b4..591247f38 100644
--- 
a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/ClusterNodeRequest.java
+++ 
b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/ClusterNodeRequest.java
@@ -21,7 +21,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
-import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
 
 /**
  * Inlong cluster node request
@@ -33,17 +33,19 @@ public class ClusterNodeRequest {
     @ApiModelProperty(value = "Primary key")
     private Integer id;
 
-    @NotBlank
+    @NotNull
     @ApiModelProperty(value = "ID of the parent cluster")
     private Integer parentId;
 
-    @NotBlank
+    @NotNull
     @ApiModelProperty(value = "Cluster type, including TUBE, PULSAR, 
DATA_PROXY, etc.")
     private String type;
 
+    @NotNull
     @ApiModelProperty(value = "Cluster IP")
     private String ip;
 
+    @NotNull
     @ApiModelProperty(value = "Cluster port")
     private Integer port;
 
diff --git 
a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/InlongClusterPageRequest.java
 
b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/InlongClusterPageRequest.java
index 6553e97e6..d14b734d0 100644
--- 
a/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/InlongClusterPageRequest.java
+++ 
b/inlong-manager/manager-common/src/main/java/org/apache/inlong/manager/common/pojo/cluster/InlongClusterPageRequest.java
@@ -23,6 +23,8 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.apache.inlong.manager.common.beans.PageRequest;
 
+import java.util.List;
+
 /**
  * Inlong cluster paging query conditions
  */
@@ -34,6 +36,9 @@ public class InlongClusterPageRequest extends PageRequest {
     @ApiModelProperty(value = "Cluster type, including TUBE, PULSAR, 
DATA_PROXY, etc.")
     private String type;
 
+    @ApiModelProperty(value = "Cluster type list")
+    private List<String> typeList;
+
     @ApiModelProperty(value = "Cluster name")
     private String name;
 
diff --git 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataProxyClusterEntity.java
 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataProxyClusterEntity.java
deleted file mode 100644
index a8ba8df8e..000000000
--- 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/DataProxyClusterEntity.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.dao.entity;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * Data proxy cluster entity, including id, name, address, etc.
- */
-@Data
-public class DataProxyClusterEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-    private Integer id;
-    private String name;
-    private String description;
-    private String address;
-    private String port;
-    private Integer isBackup;
-    private String mqSetName;
-    private String extParams;
-    private String inCharges;
-    private Integer status;
-    private Integer isDeleted;
-    private String creator;
-    private String modifier;
-    private Date createTime;
-    private Date modifyTime;
-
-}
\ No newline at end of file
diff --git 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/ThirdPartyClusterEntity.java
 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/ThirdPartyClusterEntity.java
deleted file mode 100644
index 96014f10a..000000000
--- 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/entity/ThirdPartyClusterEntity.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.dao.entity;
-
-import lombok.Data;
-
-import java.io.Serializable;
-import java.util.Date;
-
-/**
- * ThirdPartyClusterEntity.
- */
-@Data
-public class ThirdPartyClusterEntity implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-    private Integer id;
-    private String name;
-    private String type;
-    private String ip;
-    private Integer port;
-    private String url;
-    private String token;
-    private Integer isBackup;
-    private String mqSetName;
-    private String extParams;
-    private String inCharges;
-
-    private Integer status;
-    private Integer isDeleted;
-    private String creator;
-    private String modifier;
-    private Date createTime;
-    private Date modifyTime;
-
-}
\ No newline at end of file
diff --git 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataProxyClusterEntityMapper.java
 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataProxyClusterEntityMapper.java
deleted file mode 100644
index 80e15781b..000000000
--- 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/DataProxyClusterEntityMapper.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.dao.mapper;
-
-import org.apache.inlong.manager.common.pojo.cluster.ClusterPageRequest;
-import org.apache.inlong.manager.dao.entity.DataProxyClusterEntity;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface DataProxyClusterEntityMapper {
-
-    int deleteByPrimaryKey(Integer id);
-
-    int insert(DataProxyClusterEntity record);
-
-    int insertSelective(DataProxyClusterEntity record);
-
-    DataProxyClusterEntity selectByPrimaryKey(Integer id);
-
-    List<DataProxyClusterEntity> selectByCondition(ClusterPageRequest request);
-
-    int updateByPrimaryKeySelective(DataProxyClusterEntity record);
-
-    int updateByPrimaryKey(DataProxyClusterEntity record);
-
-    DataProxyClusterEntity selectByName(String proxyClusterName);
-
-}
\ No newline at end of file
diff --git 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
index 1b643e393..40763569f 100644
--- 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
+++ 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/InlongClusterEntityMapper.java
@@ -17,6 +17,7 @@
 
 package org.apache.inlong.manager.dao.mapper;
 
+import org.apache.ibatis.annotations.Param;
 import org.apache.inlong.manager.common.pojo.cluster.InlongClusterPageRequest;
 import org.apache.inlong.manager.common.pojo.cluster.InlongClusterRequest;
 import org.apache.inlong.manager.dao.entity.InlongClusterEntity;
@@ -35,6 +36,11 @@ public interface InlongClusterEntityMapper {
 
     InlongClusterEntity selectByUniqueKey(InlongClusterRequest request);
 
+    /**
+     * Select clusters by name and type, the name can be null.
+     */
+    List<InlongClusterEntity> selectByNameAndType(@Param("name") String name, 
@Param("type") String type);
+
     List<InlongClusterEntity> selectByCondition(InlongClusterPageRequest 
request);
 
     int updateByIdSelective(InlongClusterEntity record);
diff --git 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ThirdPartyClusterEntityMapper.java
 
b/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ThirdPartyClusterEntityMapper.java
deleted file mode 100644
index 962782abf..000000000
--- 
a/inlong-manager/manager-dao/src/main/java/org/apache/inlong/manager/dao/mapper/ThirdPartyClusterEntityMapper.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.dao.mapper;
-
-import org.apache.ibatis.annotations.Param;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterPageRequest;
-import org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity;
-import org.springframework.stereotype.Repository;
-
-import java.util.List;
-
-@Repository
-public interface ThirdPartyClusterEntityMapper {
-
-    int insert(ThirdPartyClusterEntity record);
-
-    int insertSelective(ThirdPartyClusterEntity record);
-
-    ThirdPartyClusterEntity selectByPrimaryKey(Integer id);
-
-    List<ThirdPartyClusterEntity> selectByCondition(ClusterPageRequest 
request);
-
-    List<ThirdPartyClusterEntity> selectByIdList(@Param("idList") 
List<Integer> idList);
-
-    List<ThirdPartyClusterEntity> selectByType(@Param("type") String type);
-
-    List<ThirdPartyClusterEntity> selectMQCluster(@Param("mqSetName") String 
mqSetName,
-            @Param("typeList") List<String> typeList);
-
-    ThirdPartyClusterEntity selectByName(@Param("name") String name);
-
-    int updateByPrimaryKeySelective(ThirdPartyClusterEntity record);
-
-    int updateByPrimaryKey(ThirdPartyClusterEntity record);
-
-    int deleteByPrimaryKey(Integer id);
-
-}
\ No newline at end of file
diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/DataProxyClusterEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/DataProxyClusterEntityMapper.xml
deleted file mode 100644
index 790a4ba3c..000000000
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/DataProxyClusterEntityMapper.xml
+++ /dev/null
@@ -1,262 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more 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
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
-<mapper 
namespace="org.apache.inlong.manager.dao.mapper.DataProxyClusterEntityMapper">
-    <resultMap id="BaseResultMap" 
type="org.apache.inlong.manager.dao.entity.DataProxyClusterEntity">
-        <id column="id" jdbcType="INTEGER" property="id"/>
-        <result column="name" jdbcType="VARCHAR" property="name"/>
-        <result column="description" jdbcType="VARCHAR" 
property="description"/>
-        <result column="address" jdbcType="VARCHAR" property="address"/>
-        <result column="port" jdbcType="VARCHAR" property="port"/>
-        <result column="is_backup" jdbcType="INTEGER" property="isBackup"/>
-        <result column="mq_set_name" jdbcType="VARCHAR" property="mqSetName"/>
-        <result column="ext_params" jdbcType="LONGVARCHAR" 
property="extParams"/>
-        <result column="in_charges" jdbcType="VARCHAR" property="inCharges"/>
-        <result column="status" jdbcType="INTEGER" property="status"/>
-        <result column="is_deleted" jdbcType="TINYINT" property="isDeleted"/>
-        <result column="creator" jdbcType="VARCHAR" property="creator"/>
-        <result column="modifier" jdbcType="VARCHAR" property="modifier"/>
-        <result column="create_time" jdbcType="TIMESTAMP" 
property="createTime"/>
-        <result column="modify_time" jdbcType="TIMESTAMP" 
property="modifyTime"/>
-    </resultMap>
-    <sql id="Base_Column_List">
-        id, name, description, address, port, is_backup, mq_set_name, 
ext_params,
-        in_charges, status, is_deleted, creator, modifier, create_time, 
modify_time
-    </sql>
-
-    <select id="selectByPrimaryKey" parameterType="java.lang.Integer" 
resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from data_proxy_cluster
-        where id = #{id,jdbcType=INTEGER}
-    </select>
-
-    <select id="selectByCondition" 
resultType="org.apache.inlong.manager.dao.entity.DataProxyClusterEntity"
-            
parameterType="org.apache.inlong.manager.common.pojo.cluster.ClusterPageRequest">
-        select
-        <include refid="Base_Column_List"/>
-        from data_proxy_cluster
-        <where>
-            is_deleted = 0
-            and find_in_set(#{currentUser,jdbcType=VARCHAR}, in_charges)
-            <if test="keyword != null and keyword != ''">
-                and (name like CONCAT('%', #{keyword}, '%') or description 
like CONCAT('%', #{keyword}, '%'))
-            </if>
-            <if test="status != null and status != ''">
-                and status = #{status, jdbcType=INTEGER}
-            </if>
-        </where>
-        order by modify_time desc
-    </select>
-
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
-        delete
-        from data_proxy_cluster
-        where id = #{id,jdbcType=INTEGER}
-    </delete>
-    <insert id="insert" useGeneratedKeys="true" keyProperty="id"
-            
parameterType="org.apache.inlong.manager.dao.entity.DataProxyClusterEntity">
-        insert into data_proxy_cluster (id, name, description,
-                                        address, port, is_backup,
-                                        mq_set_name, ext_params, in_charges,
-                                        status, is_deleted, creator,
-                                        modifier, create_time, modify_time)
-        values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, 
#{description,jdbcType=VARCHAR},
-                #{address,jdbcType=VARCHAR}, #{port,jdbcType=VARCHAR}, 
#{isBackup,jdbcType=INTEGER},
-                #{mqSetName,jdbcType=VARCHAR}, 
#{extParams,jdbcType=LONGVARCHAR}, #{inCharges,jdbcType=VARCHAR},
-                #{status,jdbcType=INTEGER}, #{isDeleted,jdbcType=TINYINT}, 
#{creator,jdbcType=VARCHAR},
-                #{modifier,jdbcType=VARCHAR}, 
#{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP})
-    </insert>
-    <insert id="insertSelective" useGeneratedKeys="true" keyProperty="id"
-            
parameterType="org.apache.inlong.manager.dao.entity.DataProxyClusterEntity">
-        insert into data_proxy_cluster
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null">
-                id,
-            </if>
-            <if test="name != null">
-                name,
-            </if>
-            <if test="description != null">
-                description,
-            </if>
-            <if test="address != null">
-                address,
-            </if>
-            <if test="port != null">
-                port,
-            </if>
-            <if test="isBackup != null">
-                is_backup,
-            </if>
-            <if test="mqSetName != null">
-                mq_set_name,
-            </if>
-            <if test="extParams != null">
-                ext_params,
-            </if>
-            <if test="inCharges != null">
-                in_charges,
-            </if>
-            <if test="status != null">
-                status,
-            </if>
-            <if test="isDeleted != null">
-                is_deleted,
-            </if>
-            <if test="creator != null">
-                creator,
-            </if>
-            <if test="modifier != null">
-                modifier,
-            </if>
-            <if test="createTime != null">
-                create_time,
-            </if>
-            <if test="modifyTime != null">
-                modify_time,
-            </if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null">
-                #{id,jdbcType=INTEGER},
-            </if>
-            <if test="name != null">
-                #{name,jdbcType=VARCHAR},
-            </if>
-            <if test="description != null">
-                #{description,jdbcType=VARCHAR},
-            </if>
-            <if test="address != null">
-                #{address,jdbcType=VARCHAR},
-            </if>
-            <if test="port != null">
-                #{port,jdbcType=VARCHAR},
-            </if>
-            <if test="isBackup != null">
-                #{isBackup,jdbcType=INTEGER},
-            </if>
-            <if test="mqSetName != null">
-                #{mqSetName,jdbcType=VARCHAR},
-            </if>
-            <if test="extParams != null">
-                #{extParams,jdbcType=LONGVARCHAR},
-            </if>
-            <if test="inCharges != null">
-                #{inCharges,jdbcType=VARCHAR},
-            </if>
-            <if test="status != null">
-                #{status,jdbcType=INTEGER},
-            </if>
-            <if test="isDeleted != null">
-                #{isDeleted,jdbcType=TINYINT},
-            </if>
-            <if test="creator != null">
-                #{creator,jdbcType=VARCHAR},
-            </if>
-            <if test="modifier != null">
-                #{modifier,jdbcType=VARCHAR},
-            </if>
-            <if test="createTime != null">
-                #{createTime,jdbcType=TIMESTAMP},
-            </if>
-            <if test="modifyTime != null">
-                #{modifyTime,jdbcType=TIMESTAMP},
-            </if>
-        </trim>
-    </insert>
-    <update id="updateByPrimaryKeySelective"
-            
parameterType="org.apache.inlong.manager.dao.entity.DataProxyClusterEntity">
-        update data_proxy_cluster
-        <set>
-            <if test="name != null">
-                name = #{name,jdbcType=VARCHAR},
-            </if>
-            <if test="description != null">
-                description = #{description,jdbcType=VARCHAR},
-            </if>
-            <if test="address != null">
-                address = #{address,jdbcType=VARCHAR},
-            </if>
-            <if test="port != null">
-                port = #{port,jdbcType=VARCHAR},
-            </if>
-            <if test="isBackup != null">
-                is_backup = #{isBackup,jdbcType=INTEGER},
-            </if>
-            <if test="mqSetName != null">
-                mq_set_name = #{mqSetName,jdbcType=VARCHAR},
-            </if>
-            <if test="extParams != null">
-                ext_params = #{extParams,jdbcType=LONGVARCHAR},
-            </if>
-            <if test="inCharges != null">
-                in_charges = #{inCharges,jdbcType=VARCHAR},
-            </if>
-            <if test="status != null">
-                status = #{status,jdbcType=INTEGER},
-            </if>
-            <if test="isDeleted != null">
-                is_deleted = #{isDeleted,jdbcType=TINYINT},
-            </if>
-            <if test="creator != null">
-                creator = #{creator,jdbcType=VARCHAR},
-            </if>
-            <if test="modifier != null">
-                modifier = #{modifier,jdbcType=VARCHAR},
-            </if>
-            <if test="createTime != null">
-                create_time = #{createTime,jdbcType=TIMESTAMP},
-            </if>
-            <if test="modifyTime != null">
-                modify_time = #{modifyTime,jdbcType=TIMESTAMP},
-            </if>
-        </set>
-        where id = #{id,jdbcType=INTEGER}
-    </update>
-    <update id="updateByPrimaryKey" 
parameterType="org.apache.inlong.manager.dao.entity.DataProxyClusterEntity">
-        update data_proxy_cluster
-        set name        = #{name,jdbcType=VARCHAR},
-            description = #{description,jdbcType=VARCHAR},
-            address     = #{address,jdbcType=VARCHAR},
-            port        = #{port,jdbcType=VARCHAR},
-            is_backup   = #{isBackup,jdbcType=INTEGER},
-            mq_set_name = #{mqSetName,jdbcType=VARCHAR},
-            ext_params  = #{extParams,jdbcType=LONGVARCHAR},
-            in_charges  = #{inCharges,jdbcType=VARCHAR},
-            status      = #{status,jdbcType=INTEGER},
-            is_deleted  = #{isDeleted,jdbcType=TINYINT},
-            creator     = #{creator,jdbcType=VARCHAR},
-            modifier    = #{modifier,jdbcType=VARCHAR},
-            create_time = #{createTime,jdbcType=TIMESTAMP},
-            modify_time = #{modifyTime,jdbcType=TIMESTAMP}
-        where id = #{id,jdbcType=INTEGER}
-    </update>
-
-    <select id="selectByName" parameterType="java.lang.String" 
resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from data_proxy_cluster
-        where name= #{name,jdbcType=VARCHAR}
-        and is_deleted=0
-    </select>
-
-</mapper>
\ No newline at end of file
diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
index 3d6e364ea..e87b94e3a 100644
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
+++ 
b/inlong-manager/manager-dao/src/main/resources/mappers/InlongClusterEntityMapper.xml
@@ -199,6 +199,16 @@
         and type = #{type, jdbcType=VARCHAR}
         and cluster_tag = #{clusterTag, jdbcType=VARCHAR}
     </select>
+    <select id="selectByNameAndType" 
resultType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
+        select
+        <include refid="Base_Column_List"/>
+        from inlong_cluster
+        where is_deleted = 0
+        <if test="name != null and name != ''">
+            and name = #{name, jdbcType=VARCHAR}
+        </if>
+        and `type` = #{type, jdbcType=VARCHAR}
+    </select>
     <select id="selectByCondition"
             
parameterType="org.apache.inlong.manager.common.pojo.cluster.InlongClusterPageRequest"
             
resultType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
@@ -211,7 +221,13 @@
                 and name = #{name, jdbcType=VARCHAR}
             </if>
             <if test="type != null and type != ''">
-                and type = #{type, jdbcType=VARCHAR}
+                and `type` = #{type, jdbcType=VARCHAR}
+            </if>
+            <if test="typeList != null and typeList.size()>0">
+                and `type` in
+                <foreach item="item" index="index" collection="typeList" 
open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
             </if>
             <if test="clusterTag != null and clusterTag != ''">
                 and cluster_tag = #{clusterTag, jdbcType=VARCHAR}
@@ -228,6 +244,7 @@
         </where>
         order by modify_time desc
     </select>
+
     <update id="updateByIdSelective" 
parameterType="org.apache.inlong.manager.dao.entity.InlongClusterEntity">
         update inlong_cluster
         <set>
diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/ThirdPartyClusterEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/ThirdPartyClusterEntityMapper.xml
deleted file mode 100644
index 5f1b067d1..000000000
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/ThirdPartyClusterEntityMapper.xml
+++ /dev/null
@@ -1,325 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-    Licensed to the Apache Software Foundation (ASF) under one
-    or more 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
-
-      http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing,
-    software distributed under the License is distributed on an
-    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-    KIND, either express or implied.  See the License for the
-    specific language governing permissions and limitations
-    under the License.
--->
-
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 
"http://mybatis.org/dtd/mybatis-3-mapper.dtd";>
-<mapper 
namespace="org.apache.inlong.manager.dao.mapper.ThirdPartyClusterEntityMapper">
-    <resultMap id="BaseResultMap" 
type="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        <id column="id" jdbcType="INTEGER" property="id"/>
-        <result column="name" jdbcType="VARCHAR" property="name"/>
-        <result column="type" jdbcType="VARCHAR" property="type"/>
-        <result column="ip" jdbcType="LONGVARCHAR" property="ip"/>
-        <result column="port" jdbcType="INTEGER" property="port"/>
-        <result column="url" jdbcType="VARCHAR" property="url"/>
-        <result column="token" jdbcType="VARCHAR" property="token"/>
-        <result column="is_backup" jdbcType="INTEGER" property="isBackup"/>
-        <result column="mq_set_name" jdbcType="VARCHAR" property="mqSetName"/>
-        <result column="ext_params" jdbcType="LONGVARCHAR" 
property="extParams"/>
-        <result column="in_charges" jdbcType="VARCHAR" property="inCharges"/>
-        <result column="status" jdbcType="INTEGER" property="status"/>
-        <result column="is_deleted" jdbcType="INTEGER" property="isDeleted"/>
-        <result column="creator" jdbcType="VARCHAR" property="creator"/>
-        <result column="modifier" jdbcType="VARCHAR" property="modifier"/>
-        <result column="create_time" jdbcType="TIMESTAMP" 
property="createTime"/>
-        <result column="modify_time" jdbcType="TIMESTAMP" 
property="modifyTime"/>
-    </resultMap>
-    <sql id="Base_Column_List">
-        id, name, type, ip, port, url, token, is_backup, mq_set_name, 
ext_params, in_charges,
-        status, is_deleted, creator, modifier, create_time, modify_time
-    </sql>
-
-    <insert id="insert" useGeneratedKeys="true" keyProperty="id"
-            
parameterType="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        insert into third_party_cluster (id, name, type,
-                                         ip, port, url,
-                                         token, is_backup, mq_set_name,
-                                         ext_params, in_charges,
-                                         status, is_deleted, creator,
-                                         modifier, create_time, modify_time)
-        values (#{id,jdbcType=INTEGER}, #{name,jdbcType=VARCHAR}, 
#{type,jdbcType=VARCHAR},
-                #{ip,jdbcType=LONGVARCHAR}, #{port,jdbcType=INTEGER}, 
#{url,jdbcType=VARCHAR},
-                #{token,jdbcType=VARCHAR}, #{isBackup,jdbcType=INTEGER}, 
#{mqSetName,jdbcType=VARCHAR},
-                #{extParams,jdbcType=LONGVARCHAR}, 
#{inCharges,jdbcType=VARCHAR},
-                #{status,jdbcType=INTEGER}, #{isDeleted,jdbcType=INTEGER}, 
#{creator,jdbcType=VARCHAR},
-                #{modifier,jdbcType=VARCHAR}, 
#{createTime,jdbcType=TIMESTAMP}, #{modifyTime,jdbcType=TIMESTAMP})
-    </insert>
-    <insert id="insertSelective" useGeneratedKeys="true" keyProperty="id"
-            
parameterType="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        insert into third_party_cluster
-        <trim prefix="(" suffix=")" suffixOverrides=",">
-            <if test="id != null">
-                id,
-            </if>
-            <if test="name != null">
-                name,
-            </if>
-            <if test="type != null">
-                type,
-            </if>
-            <if test="ip != null">
-                ip,
-            </if>
-            <if test="port != null">
-                port,
-            </if>
-            <if test="url != null">
-                url,
-            </if>
-            <if test="token != null">
-                token,
-            </if>
-            <if test="isBackup != null">
-                is_backup,
-            </if>
-            <if test="mqSetName != null">
-                mq_set_name,
-            </if>
-            <if test="extParams != null">
-                ext_params,
-            </if>
-            <if test="inCharges != null">
-                in_charges,
-            </if>
-            <if test="status != null">
-                status,
-            </if>
-            <if test="isDeleted != null">
-                is_deleted,
-            </if>
-            <if test="creator != null">
-                creator,
-            </if>
-            <if test="modifier != null">
-                modifier,
-            </if>
-            <if test="createTime != null">
-                create_time,
-            </if>
-            <if test="modifyTime != null">
-                modify_time,
-            </if>
-        </trim>
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
-            <if test="id != null">
-                #{id,jdbcType=INTEGER},
-            </if>
-            <if test="name != null">
-                #{name,jdbcType=VARCHAR},
-            </if>
-            <if test="type != null">
-                #{type,jdbcType=VARCHAR},
-            </if>
-            <if test="ip != null">
-                #{ip,jdbcType=LONGVARCHAR},
-            </if>
-            <if test="port != null">
-                #{port,jdbcType=INTEGER},
-            </if>
-            <if test="url != null">
-                #{url,jdbcType=VARCHAR},
-            </if>
-            <if test="token != null">
-                #{token,jdbcType=VARCHAR},
-            </if>
-            <if test="isBackup != null">
-                #{isBackup,jdbcType=INTEGER},
-            </if>
-            <if test="mqSetName != null">
-                #{mqSetName,jdbcType=VARCHAR},
-            </if>
-            <if test="extParams != null">
-                #{extParams,jdbcType=LONGVARCHAR},
-            </if>
-            <if test="inCharges != null">
-                #{inCharges,jdbcType=VARCHAR},
-            </if>
-            <if test="status != null">
-                #{status,jdbcType=INTEGER},
-            </if>
-            <if test="isDeleted != null">
-                #{isDeleted,jdbcType=INTEGER},
-            </if>
-            <if test="creator != null">
-                #{creator,jdbcType=VARCHAR},
-            </if>
-            <if test="modifier != null">
-                #{modifier,jdbcType=VARCHAR},
-            </if>
-            <if test="createTime != null">
-                #{createTime,jdbcType=TIMESTAMP},
-            </if>
-            <if test="modifyTime != null">
-                #{modifyTime,jdbcType=TIMESTAMP},
-            </if>
-        </trim>
-    </insert>
-
-    <select id="selectByPrimaryKey" parameterType="java.lang.Integer" 
resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from third_party_cluster
-        where id = #{id,jdbcType=INTEGER}
-    </select>
-    <select id="selectByCondition" 
parameterType="org.apache.inlong.manager.common.pojo.cluster.ClusterPageRequest"
-            
resultType="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        select
-        <include refid="Base_Column_List"/>
-        from third_party_cluster
-        <where>
-            is_deleted = 0
-            <if test="type != null and type != ''">
-                and `type` = #{type, jdbcType=VARCHAR}
-            </if>
-            <if test="ip != null and ip != ''">
-                and ip like CONCAT('%',#{ip},'%')
-            </if>
-            <if test="status != null and status != ''">
-                and status = #{status, jdbcType=INTEGER}
-            </if>
-            <if test="mqSetName != null and mqSetName != ''">
-                and mq_set_name = #{mqSetName, jdbcType=VARCHAR}
-            </if>
-        </where>
-        order by modify_time desc
-    </select>
-    <select id="selectByIdList" 
resultType="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        select
-        <include refid="Base_Column_List"/>
-        from third_party_cluster
-        <where>
-            <if test="idList != null and idList.size()>0">
-                and id in
-                <foreach item="item" index="index" collection="idList" 
open="(" close=")" separator=",">
-                    #{item}
-                </foreach>
-            </if>
-        </where>
-    </select>
-    <select id="selectByType" 
resultType="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        select
-        <include refid="Base_Column_List"/>
-        from third_party_cluster
-        where is_deleted = 0
-        and `type` = #{type, jdbcType=VARCHAR}
-    </select>
-    <select id="selectByName" 
resultType="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        select
-        <include refid="Base_Column_List"/>
-        from third_party_cluster
-        where is_deleted = 0
-        and name = #{name, jdbcType=VARCHAR}
-    </select>
-    <select id="selectMQCluster" 
resultType="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        select
-        <include refid="Base_Column_List"/>
-        from third_party_cluster
-        <where>
-            is_deleted = 0
-            and mq_set_name = #{mqSetName, jdbcType=VARCHAR}
-            <if test="typeList != null and typeList.size()>0">
-                and `type` in
-                <foreach item="item" index="index" collection="typeList" 
open="(" close=")" separator=",">
-                    #{item}
-                </foreach>
-            </if>
-        </where>
-    </select>
-
-    <update id="updateByPrimaryKeySelective"
-            
parameterType="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        update third_party_cluster
-        <set>
-            <if test="name != null">
-                name = #{name,jdbcType=VARCHAR},
-            </if>
-            <if test="type != null">
-                type = #{type,jdbcType=VARCHAR},
-            </if>
-            <if test="ip != null">
-                ip = #{ip,jdbcType=LONGVARCHAR},
-            </if>
-            <if test="port != null">
-                port = #{port,jdbcType=INTEGER},
-            </if>
-            <if test="url != null">
-                url = #{url,jdbcType=VARCHAR},
-            </if>
-            <if test="token != null">
-                token = #{token,jdbcType=VARCHAR},
-            </if>
-            <if test="isBackup != null">
-                is_backup = #{isBackup,jdbcType=INTEGER},
-            </if>
-            <if test="mqSetName != null">
-                mq_set_name = #{mqSetName,jdbcType=VARCHAR},
-            </if>
-            <if test="extParams != null">
-                ext_params = #{extParams,jdbcType=LONGVARCHAR},
-            </if>
-            <if test="inCharges != null">
-                in_charges = #{inCharges,jdbcType=VARCHAR},
-            </if>
-            <if test="status != null">
-                status = #{status,jdbcType=INTEGER},
-            </if>
-            <if test="isDeleted != null">
-                is_deleted = #{isDeleted,jdbcType=INTEGER},
-            </if>
-            <if test="creator != null">
-                creator = #{creator,jdbcType=VARCHAR},
-            </if>
-            <if test="modifier != null">
-                modifier = #{modifier,jdbcType=VARCHAR},
-            </if>
-            <if test="createTime != null">
-                create_time = #{createTime,jdbcType=TIMESTAMP},
-            </if>
-            <if test="modifyTime != null">
-                modify_time = #{modifyTime,jdbcType=TIMESTAMP},
-            </if>
-        </set>
-        where id = #{id,jdbcType=INTEGER}
-    </update>
-    <update id="updateByPrimaryKey" 
parameterType="org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity">
-        update third_party_cluster
-        set name        = #{name,jdbcType=VARCHAR},
-            type        = #{type,jdbcType=VARCHAR},
-            ip          = #{ip,jdbcType=LONGVARCHAR},
-            port        = #{port,jdbcType=INTEGER},
-            url         = #{url,jdbcType=VARCHAR},
-            token       = #{token,jdbcType=VARCHAR},
-            is_backup   = #{isBackup,jdbcType=INTEGER},
-            mq_set_name = #{mqSetName,jdbcType=VARCHAR},
-            ext_params  = #{extParams,jdbcType=LONGVARCHAR},
-            in_charges  = #{inCharges,jdbcType=VARCHAR},
-            status      = #{status,jdbcType=INTEGER},
-            is_deleted  = #{isDeleted,jdbcType=INTEGER},
-            creator     = #{creator,jdbcType=VARCHAR},
-            modifier    = #{modifier,jdbcType=VARCHAR},
-            create_time = #{createTime,jdbcType=TIMESTAMP},
-            modify_time = #{modifyTime,jdbcType=TIMESTAMP}
-        where id = #{id,jdbcType=INTEGER}
-    </update>
-
-    <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer">
-        delete
-        from third_party_cluster
-        where id = #{id,jdbcType=INTEGER}
-    </delete>
-</mapper>
\ No newline at end of file
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/CommonOperateService.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/CommonOperateService.java
index 157952c85..d50751747 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/CommonOperateService.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/CommonOperateService.java
@@ -26,19 +26,19 @@ import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.enums.GroupStatus;
 import org.apache.inlong.manager.common.enums.MQType;
 import org.apache.inlong.manager.common.exceptions.BusinessException;
+import org.apache.inlong.manager.common.pojo.cluster.InlongClusterPageRequest;
 import org.apache.inlong.manager.common.settings.InlongGroupSettings;
 import org.apache.inlong.manager.common.util.Preconditions;
+import org.apache.inlong.manager.dao.entity.InlongClusterEntity;
 import org.apache.inlong.manager.dao.entity.InlongGroupEntity;
-import org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity;
+import org.apache.inlong.manager.dao.mapper.InlongClusterEntityMapper;
 import org.apache.inlong.manager.dao.mapper.InlongGroupEntityMapper;
-import org.apache.inlong.manager.dao.mapper.ThirdPartyClusterEntityMapper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.Arrays;
-import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
@@ -55,7 +55,7 @@ public class CommonOperateService {
     @Autowired
     private InlongGroupEntityMapper groupMapper;
     @Autowired
-    private ThirdPartyClusterEntityMapper thirdPartyClusterMapper;
+    private InlongClusterEntityMapper clusterMapper;
 
     /**
      * query some third-party-cluster info according key, such as 
"pulsar_adminUrl", "cluster_tube_manager", etc.
@@ -65,7 +65,7 @@ public class CommonOperateService {
      */
     public String getSpecifiedParam(String key) {
         String result = "";
-        ThirdPartyClusterEntity clusterEntity;
+        InlongClusterEntity clusterEntity;
         Gson gson = new Gson();
         Map<String, String> params;
 
@@ -110,18 +110,21 @@ public class CommonOperateService {
      *
      * TODO Add data_proxy_cluster_name for query.
      */
-    private ThirdPartyClusterEntity getMQCluster(MQType type) {
-        List<ThirdPartyClusterEntity> clusterList = 
thirdPartyClusterMapper.selectByType(
+    private InlongClusterEntity getMQCluster(MQType type) {
+        List<InlongClusterEntity> clusterList = 
clusterMapper.selectByNameAndType(null,
                 InlongGroupSettings.CLUSTER_DATA_PROXY);
         if (CollectionUtils.isEmpty(clusterList)) {
             LOGGER.warn("no data proxy cluster found");
             return null;
         }
-        String mqSetName = clusterList.get(0).getMqSetName();
-        List<ThirdPartyClusterEntity> mqClusterList = 
thirdPartyClusterMapper.selectMQCluster(mqSetName,
-                Collections.singletonList(type.getType()));
+
+        String clusterTag = clusterList.get(0).getClusterTag();
+        InlongClusterPageRequest request = new InlongClusterPageRequest();
+        request.setClusterTag(clusterTag);
+        request.setType(type.getType());
+        List<InlongClusterEntity> mqClusterList = 
clusterMapper.selectByCondition(request);
         if (CollectionUtils.isEmpty(mqClusterList)) {
-            LOGGER.warn("no mq cluster found by type={} and mq set name={}", 
type, mqSetName);
+            LOGGER.warn("no mq cluster found by cluster tag={} and type={}", 
clusterTag, type);
             return null;
         }
 
@@ -135,7 +138,7 @@ public class CommonOperateService {
      */
     public PulsarClusterInfo getPulsarClusterInfo(String type) {
         MQType mqType = MQType.forType(type);
-        ThirdPartyClusterEntity clusterEntity = getMQCluster(mqType);
+        InlongClusterEntity clusterEntity = getMQCluster(mqType);
         if (clusterEntity == null || 
StringUtils.isBlank(clusterEntity.getExtParams())) {
             throw new BusinessException("pulsar cluster or pulsar ext params 
is empty");
         }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataProxyClusterService.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataProxyClusterService.java
deleted file mode 100644
index edb74c764..000000000
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/DataProxyClusterService.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.service.core;
-
-/**
- * DataProxy cluster service layer interface
- */
-public interface DataProxyClusterService {
-
-    /**
-     * query data proxy config by cluster id
-     *
-     * @return data proxy config
-     */
-    String getAllConfig(String clusterName, String md5);
-
-}
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/InlongClusterService.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/InlongClusterService.java
index 53b228585..f8bcb2f6b 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/InlongClusterService.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/InlongClusterService.java
@@ -19,6 +19,7 @@ package org.apache.inlong.manager.service.core;
 
 import com.github.pagehelper.PageInfo;
 import org.apache.inlong.common.pojo.dataproxy.DataProxyConfig;
+import org.apache.inlong.common.pojo.dataproxy.ThirdPartyClusterDTO;
 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.InlongClusterPageRequest;
@@ -62,9 +63,9 @@ public interface InlongClusterService {
      * Query ip list by cluster type
      *
      * @param type cluster type
-     * @return clustre node ip list
+     * @return cluster node ip list
      */
-    public List<String> listNodeIpByType(String type);
+    List<String> listNodeIpByType(String type);
 
     /**
      * Update cluster information
@@ -142,4 +143,16 @@ public interface InlongClusterService {
      */
     List<DataProxyConfig> getConfig();
 
+    /**
+     * query data proxy config by cluster name, result includes pulsar/tube 
cluster configs and topic etc
+     */
+    ThirdPartyClusterDTO getConfigV2(String clusterName);
+
+    /**
+     * Get data proxy cluster list by the given cluster name
+     *
+     * @return data proxy config
+     */
+    String getAllConfig(String clusterName, String md5);
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ThirdPartyClusterService.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ThirdPartyClusterService.java
deleted file mode 100644
index b2d9d5071..000000000
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/ThirdPartyClusterService.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.service.core;
-
-import com.github.pagehelper.PageInfo;
-import org.apache.inlong.common.pojo.dataproxy.DataProxyConfig;
-import org.apache.inlong.common.pojo.dataproxy.ThirdPartyClusterDTO;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterPageRequest;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterRequest;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterResponse;
-import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyResponse;
-
-import java.util.List;
-
-/**
- * The third party cluster (such as kafka) information service layer interface
- */
-@Deprecated
-public interface ThirdPartyClusterService {
-
-
-    /**
-     * Save cluster info.
-     *
-     * @param request Cluster info.
-     * @param operator Current operator.
-     * @return ID after saving.
-     */
-    Integer save(ClusterRequest request, String operator);
-
-    /**
-     * Get cluster info by id.
-     *
-     * @param id Cluster ID.
-     * @return Cluster info.
-     */
-    ClusterResponse get(Integer id);
-
-    /**
-     * Paging query clusters according to conditions.
-     *
-     * @param request Query conditions.
-     * @return Cluster list.
-     */
-    PageInfo<ClusterResponse> list(ClusterPageRequest request);
-
-    List<String> listClusterIpByType(String type);
-
-    /**
-     * Change cluster information
-     *
-     * @param request The cluster info to be modified
-     * @param operator Current operator
-     * @return Whether succeed
-     */
-    Boolean update(ClusterRequest request, String operator);
-
-    /**
-     * Delete cluster information
-     *
-     * @param id Cluster ID to be deleted
-     * @param operator Current operator
-     * @return Whether succeed
-     */
-    Boolean delete(Integer id, String operator);
-
-    /**
-     * Query data proxy ip list by the given cluster name.
-     *
-     * @param clusterName Cluster name.
-     * @return Data proxy info list.
-     */
-    List<DataProxyResponse> getIpList(String clusterName);
-
-    /**
-     * query data proxy config by cluster id
-     *
-     * @return data proxy config
-     */
-    List<DataProxyConfig> getConfig();
-
-    /**
-     * query data proxy config by cluster id, result includes pulsar cluster 
configs and topic etc
-     */
-    ThirdPartyClusterDTO getConfigV2(String dataproxyClusterName);
-
-}
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataProxyClusterServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataProxyClusterServiceImpl.java
deleted file mode 100644
index bd7d801a3..000000000
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/DataProxyClusterServiceImpl.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.service.core.impl;
-
-import com.google.gson.Gson;
-
-import org.apache.inlong.common.pojo.dataproxy.DataProxyCluster;
-import org.apache.inlong.common.pojo.dataproxy.DataProxyConfigResponse;
-import org.apache.inlong.manager.service.core.DataProxyClusterService;
-import org.apache.inlong.manager.service.repository.DataProxyConfigRepository;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import lombok.extern.slf4j.Slf4j;
-
-/**
- * DataProxy cluster service layer implementation class
- */
-@Service
-@Slf4j
-public class DataProxyClusterServiceImpl implements DataProxyClusterService {
-
-    @Autowired
-    private DataProxyConfigRepository proxyRepository;
-
-    /**
-     * query data proxy config by cluster id
-     *
-     * @return data proxy config
-     */
-    public String getAllConfig(String clusterName, String md5) {
-        String configMd5 = proxyRepository.getProxyMd5(clusterName);
-        if (configMd5 == null) {
-            return this.getErrorAllConfig();
-        }
-        // same config
-        if (md5 != null && configMd5.equals(md5)) {
-            DataProxyConfigResponse response = new DataProxyConfigResponse();
-            response.setResult(true);
-            response.setErrCode(DataProxyConfigResponse.NOUPDATE);
-            response.setMd5(configMd5);
-            response.setData(new DataProxyCluster());
-            Gson gson = new Gson();
-            return gson.toJson(response);
-        }
-        String configJson = proxyRepository.getProxyConfigJson(clusterName);
-        if (configJson == null) {
-            return this.getErrorAllConfig();
-        }
-        return configJson;
-    }
-
-    /**
-     * getErrorAllConfig
-     */
-    private String getErrorAllConfig() {
-        DataProxyConfigResponse response = new DataProxyConfigResponse();
-        response.setResult(false);
-        response.setErrCode(DataProxyConfigResponse.REQ_PARAMS_ERROR);
-        Gson gson = new Gson();
-        return gson.toJson(response);
-    }
-
-}
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/InlongClusterServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/InlongClusterServiceImpl.java
index 7615b7fb2..d4bd9bd9c 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/InlongClusterServiceImpl.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/InlongClusterServiceImpl.java
@@ -20,8 +20,14 @@ package org.apache.inlong.manager.service.core.impl;
 import com.github.pagehelper.Page;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
+import com.google.gson.Gson;
+import org.apache.commons.collections.CollectionUtils;
 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.ThirdPartyClusterDTO;
+import org.apache.inlong.common.pojo.dataproxy.ThirdPartyClusterInfo;
 import org.apache.inlong.manager.common.beans.ClusterBean;
 import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
 import org.apache.inlong.manager.common.enums.GlobalConstants;
@@ -46,14 +52,17 @@ import 
org.apache.inlong.manager.dao.mapper.InlongClusterNodeEntityMapper;
 import org.apache.inlong.manager.dao.mapper.InlongGroupEntityMapper;
 import org.apache.inlong.manager.dao.mapper.InlongStreamEntityMapper;
 import org.apache.inlong.manager.service.core.InlongClusterService;
+import org.apache.inlong.manager.service.repository.DataProxyConfigRepository;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.Objects;
 
 /**
@@ -62,8 +71,14 @@ import java.util.Objects;
 @Service
 public class InlongClusterServiceImpl implements InlongClusterService {
 
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(InlongClusterServiceImpl.class);
     public static final String SCHEMA_M0_DAY = "m0_day";
+    private static final Logger LOGGER = 
LoggerFactory.getLogger(InlongClusterServiceImpl.class);
+    private static final Gson GSON = new Gson();
+    private static final String URL_SPLITTER = ",";
+    private static final String HOST_SPLITTER = ":";
+    private static final String CLUSTER_TUBE = "TUBE";
+    private static final String CLUSTER_PULSAR = "PULSAR";
+    private static final String CLUSTER_TDMQ_PULSAR = "TDMQ_PULSAR";
 
     @Autowired
     private InlongClusterEntityMapper clusterMapper;
@@ -75,15 +90,13 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
     private InlongStreamEntityMapper streamMapper;
     @Autowired
     private ClusterBean clusterBean;
+    @Autowired
+    private DataProxyConfigRepository proxyRepository;
 
     @Override
     public Integer save(InlongClusterRequest request, String operator) {
         LOGGER.debug("begin to save inlong cluster={}", request);
-        // check request
-        Preconditions.checkNotNull(request, "inlong cluster info is empty");
-        Preconditions.checkNotEmpty(request.getName(), "inlong cluster name is 
empty");
-        Preconditions.checkNotEmpty(request.getClusterTag(), "inlong cluster 
tag is empty");
-        Preconditions.checkNotEmpty(request.getType(), "inlong cluster type is 
empty");
+        Preconditions.checkNotNull(request, "inlong cluster info cannot be 
empty");
 
         // check if cluster already exist
         InlongClusterEntity exist = clusterMapper.selectByUniqueKey(request);
@@ -99,13 +112,13 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
         entity.setIsDeleted(GlobalConstants.UN_DELETED);
         clusterMapper.insert(entity);
 
-        LOGGER.info("success to save inlong cluster={}", request);
+        LOGGER.info("success to save inlong cluster={} by user={}", request, 
operator);
         return entity.getId();
     }
 
     @Override
     public InlongClusterResponse get(Integer id) {
-        Preconditions.checkNotNull(id, "inlong cluster id is empty");
+        Preconditions.checkNotNull(id, "inlong cluster id cannot be empty");
         InlongClusterEntity entity = clusterMapper.selectById(id);
         if (entity == null) {
             LOGGER.error("inlong cluster not found by id={}", id);
@@ -119,19 +132,18 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
     @Override
     public PageInfo<InlongClusterResponse> list(InlongClusterPageRequest 
request) {
         PageHelper.startPage(request.getPageNum(), request.getPageSize());
-        Page<InlongClusterEntity> entityPage = (Page<InlongClusterEntity>)
-                clusterMapper.selectByCondition(request);
-        List<InlongClusterResponse> clusterList = 
CommonBeanUtils.copyListProperties(entityPage,
-                InlongClusterResponse::new);
-        PageInfo<InlongClusterResponse> page = new PageInfo<>(clusterList);
-        page.setTotal(clusterList.size());
+        Page<InlongClusterEntity> entityPage = (Page<InlongClusterEntity>) 
clusterMapper.selectByCondition(request);
+        List<InlongClusterResponse> list = 
CommonBeanUtils.copyListProperties(entityPage, InlongClusterResponse::new);
+        PageInfo<InlongClusterResponse> page = new PageInfo<>(list);
+        page.setTotal(list.size());
         LOGGER.debug("success to list inlong cluster by {}", request);
         return page;
     }
 
     @Override
     public List<String> listNodeIpByType(String type) {
-        Preconditions.checkNotNull(type, "inlong cluster type is null");
+        Preconditions.checkNotNull(type, "cluster type cannot be empty");
+        // TODO need to be combined into one query operation
         InlongClusterPageRequest request = new InlongClusterPageRequest();
         request.setType(type);
         List<InlongClusterEntity> clusterList = 
clusterMapper.selectByCondition(request);
@@ -148,14 +160,10 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
     @Override
     public Boolean update(InlongClusterRequest request, String operator) {
         LOGGER.debug("begin to update inlong cluster={}", request);
-
-        Preconditions.checkNotNull(request, "inlong cluster info is empty");
-        Preconditions.checkNotEmpty(request.getName(), "inlong cluster name is 
empty");
-        Preconditions.checkNotEmpty(request.getClusterTag(), "inlong cluster 
tag is empty");
-        Preconditions.checkNotEmpty(request.getType(), "inlong cluster type is 
empty");
+        Preconditions.checkNotNull(request, "inlong cluster info cannot be 
empty");
 
         Integer id = request.getId();
-        Preconditions.checkNotNull(id, "inlong cluster id is empty");
+        Preconditions.checkNotNull(id, "inlong cluster id cannot be empty");
         InlongClusterEntity exist = clusterMapper.selectByUniqueKey(request);
         if (exist != null && !Objects.equals(id, exist.getId())) {
             String errMsg = String.format("inlong cluster already exist for 
name=%s cluster tag=%s type=%s",
@@ -179,7 +187,7 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
 
     @Override
     public Boolean delete(Integer id, String operator) {
-        Preconditions.checkNotNull(id, "cluster id is empty");
+        Preconditions.checkNotNull(id, "cluster id cannot be empty");
         InlongClusterEntity entity = clusterMapper.selectById(id);
         if (entity == null || entity.getIsDeleted() > 
GlobalConstants.UN_DELETED) {
             LOGGER.error("inlong cluster not found by id={}, or was already 
deleted", id);
@@ -189,18 +197,14 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
         entity.setIsDeleted(entity.getId());
         entity.setModifier(operator);
         clusterMapper.updateById(entity);
-        LOGGER.info("success to delete inlong cluster by id={}", id);
+        LOGGER.info("success to delete inlong cluster for id={} by user={}", 
id, operator);
         return true;
     }
 
     @Override
     public Integer saveNode(ClusterNodeRequest request, String operator) {
         LOGGER.debug("begin to insert inlong cluster node={}", request);
-        Preconditions.checkNotNull(request, "cluster node info is empty");
-        Preconditions.checkNotNull(request.getParentId(), "inlong cluster node 
parent_id is empty");
-        Preconditions.checkNotNull(request.getType(), "inlong cluster node 
type is empty");
-        Preconditions.checkNotNull(request.getIp(), "inlong cluster node ip is 
empty");
-        Preconditions.checkNotNull(request.getPort(), "inlong cluster node 
port is empty");
+        Preconditions.checkNotNull(request, "cluster node info cannot be 
empty");
 
         // check cluster node if exist
         InlongClusterNodeEntity exist = 
clusterNodeMapper.selectByUniqueKey(request);
@@ -223,7 +227,7 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
 
     @Override
     public ClusterNodeResponse getNode(Integer id) {
-        Preconditions.checkNotNull(id, "cluster node id is empty");
+        Preconditions.checkNotNull(id, "cluster node id cannot be empty");
         InlongClusterNodeEntity entity = clusterNodeMapper.selectById(id);
         if (entity == null) {
             LOGGER.error("inlong cluster node not found by id={}", id);
@@ -250,14 +254,10 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
     @Override
     public Boolean updateNode(ClusterNodeRequest request, String operator) {
         LOGGER.debug("begin to update inlong cluster node={}", request);
-        Preconditions.checkNotNull(request, "inlong cluster node info is 
empty");
-        Preconditions.checkNotNull(request.getParentId(), "inlong cluster node 
parent_id is empty");
-        Preconditions.checkNotNull(request.getType(), "inlong cluster node 
type is empty");
-        Preconditions.checkNotNull(request.getIp(), "inlong cluster node ip is 
empty");
-        Preconditions.checkNotNull(request.getPort(), "inlong cluster node 
port is empty");
+        Preconditions.checkNotNull(request, "inlong cluster node cannot be 
empty");
 
         Integer id = request.getId();
-        Preconditions.checkNotNull(id, "inlong cluster node id is empty");
+        Preconditions.checkNotNull(id, "cluster node id cannot be empty");
         // check cluster node if exist
         InlongClusterNodeEntity exist = 
clusterNodeMapper.selectByUniqueKey(request);
         if (exist != null && !Objects.equals(id, exist.getId())) {
@@ -283,7 +283,7 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
 
     @Override
     public Boolean deleteNode(Integer id, String operator) {
-        Preconditions.checkNotNull(id, "inlong cluster node id is empty");
+        Preconditions.checkNotNull(id, "cluster node id cannot be empty");
         InlongClusterNodeEntity entity = clusterNodeMapper.selectById(id);
         if (entity == null || entity.getIsDeleted() > 
GlobalConstants.UN_DELETED) {
             LOGGER.error("inlong cluster node not found by id={}", id);
@@ -298,7 +298,6 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
 
     @Override
     public List<DataProxyResponse> getIpList(String clusterName) {
-        LOGGER.debug("begin to list data proxy by clusterName={}", 
clusterName);
         InlongClusterPageRequest request = new InlongClusterPageRequest();
         request.setType(InlongGroupSettings.CLUSTER_DATA_PROXY);
         if (StringUtils.isNotBlank(clusterName)) {
@@ -321,10 +320,63 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
             }
         }
 
+        LOGGER.debug("success to list data proxy cluster for name={}, 
result={}", clusterName, responseList);
+        return responseList;
+    }
+
+    // TODO need merge into getIpList method
+    public List<DataProxyResponse> getIpListOld(String clusterName) {
+        LOGGER.debug("begin to list data proxy by clusterName={}", 
clusterName);
+
+        List<InlongClusterEntity> clusterList = 
clusterMapper.selectByNameAndType(clusterName,
+                InlongGroupSettings.CLUSTER_DATA_PROXY);
+        if (CollectionUtils.isEmpty(clusterList)) {
+            LOGGER.warn("data proxy cluster not found by name={}", 
clusterName);
+            return null;
+        }
+
+        InlongClusterEntity entity = clusterList.get(0);
+        List<DataProxyResponse> responseList = new ArrayList<>();
+        /*String ipStr = entity.getIp();
+        while (ipStr.startsWith(URL_SPLITTER) || ipStr.endsWith(URL_SPLITTER)
+                || ipStr.startsWith(HOST_SPLITTER) || 
ipStr.endsWith(HOST_SPLITTER)) {
+            ipStr = InlongStringUtils.trimFirstAndLastChar(ipStr, 
URL_SPLITTER);
+            ipStr = InlongStringUtils.trimFirstAndLastChar(ipStr, 
HOST_SPLITTER);
+        }
+
+        Integer id = entity.getId();
+        Integer defaultPort = entity.getPort();
+        int index = ipStr.indexOf(URL_SPLITTER);
+        if (index <= 0) {
+            DataProxyResponse response = new DataProxyResponse();
+            response.setId(id);
+            setIpAndPort(ipStr, defaultPort, response);
+            responseList.add(response);
+        } else {
+            String[] urlArr = ipStr.split(URL_SPLITTER);
+            for (String url : urlArr) {
+                DataProxyResponse response = new DataProxyResponse();
+                response.setId(id);
+                setIpAndPort(url, defaultPort, response);
+                responseList.add(response);
+            }
+        }*/
+
         LOGGER.debug("success to list data proxy cluster={}", responseList);
         return responseList;
     }
 
+    private void setIpAndPort(String url, Integer defaultPort, 
DataProxyResponse response) {
+        int idx = url.indexOf(HOST_SPLITTER);
+        if (idx <= 0) {
+            response.setIp(url);
+            response.setPort(defaultPort);
+        } else {
+            response.setIp(url.substring(0, idx));
+            response.setPort(Integer.valueOf(url.substring(idx + 1)));
+        }
+    }
+
     @Override
     public List<DataProxyConfig> getConfig() {
         // get all configs with inlong group status of 130, that is, config 
successful
@@ -356,4 +408,107 @@ public class InlongClusterServiceImpl implements 
InlongClusterService {
         return configList;
     }
 
+    // TODO need optimized: query conditions use dataProxyClusterId
+    @Override
+    public ThirdPartyClusterDTO getConfigV2(String clusterName) {
+        ThirdPartyClusterDTO object = new ThirdPartyClusterDTO();
+
+        InlongClusterPageRequest request = new InlongClusterPageRequest();
+        request.setName(clusterName);
+        request.setType(InlongGroupSettings.CLUSTER_DATA_PROXY);
+        List<InlongClusterEntity> clusterList = 
clusterMapper.selectByCondition(request);
+        if (CollectionUtils.isEmpty(clusterList)) {
+            LOGGER.warn("data proxy cluster not found by name={}, please 
register it firstly", clusterName);
+            return object;
+        }
+
+        List<InlongGroupEntity> groupEntityList = 
groupMapper.selectAll(GroupStatus.CONFIG_SUCCESSFUL.getCode());
+        if (CollectionUtils.isEmpty(groupEntityList)) {
+            LOGGER.warn("not found any inlong group with success status for 
data proxy cluster={}", clusterName);
+            return object;
+        }
+
+        // Get topic list by group id
+        String mqType = groupEntityList.get(0).getMqType();
+        List<DataProxyConfig> topicList = new ArrayList<>();
+        for (InlongGroupEntity groupEntity : groupEntityList) {
+            final String groupId = groupEntity.getInlongGroupId();
+            final String mqResource = groupEntity.getMqResource();
+            MQType type = MQType.forType(mqType);
+            if (type == MQType.PULSAR || type == MQType.TDMQ_PULSAR) {
+                List<InlongStreamEntity> streamList = 
streamMapper.selectByGroupId(groupId);
+                for (InlongStreamEntity stream : streamList) {
+                    DataProxyConfig topicConfig = new DataProxyConfig();
+                    String streamId = stream.getInlongStreamId();
+                    String topic = stream.getMqResource();
+                    String tenant = clusterBean.getDefaultTenant();
+                    /*InlongGroupPulsarEntity pulsarEntity = 
pulsarEntityMapper.selectByGroupId(groupId);
+                    if (pulsarEntity != null && 
StringUtils.isNotEmpty(pulsarEntity.getTenant())) {
+                        tenant = pulsarEntity.getTenant();
+                    }*/
+                    topicConfig.setInlongGroupId(groupId + "/" + streamId);
+                    topicConfig.setTopic("persistent://" + tenant + "/" + 
mqResource + "/" + topic);
+                    topicList.add(topicConfig);
+                }
+            } else if (type == MQType.TUBE) {
+                DataProxyConfig topicConfig = new DataProxyConfig();
+                topicConfig.setInlongGroupId(groupId);
+                topicConfig.setTopic(mqResource);
+                topicList.add(topicConfig);
+            }
+        }
+
+        // construct mq set info
+        List<ThirdPartyClusterInfo> mqSet = new ArrayList<>();
+        String clusterTag = clusterList.get(0).getClusterTag();
+        List<String> typeList = Arrays.asList(CLUSTER_TUBE, CLUSTER_PULSAR, 
CLUSTER_TDMQ_PULSAR);
+        InlongClusterPageRequest pageRequest = new InlongClusterPageRequest();
+        pageRequest.setClusterTag(clusterTag);
+        pageRequest.setTypeList(typeList);
+        List<InlongClusterEntity> mqClusterList = 
clusterMapper.selectByCondition(pageRequest);
+        for (InlongClusterEntity cluster : mqClusterList) {
+            ThirdPartyClusterInfo clusterInfo = new ThirdPartyClusterInfo();
+            clusterInfo.setUrl(cluster.getUrl());
+            clusterInfo.setToken(cluster.getToken());
+            Map<String, String> configParams = 
GSON.fromJson(cluster.getExtParams(), Map.class);
+            clusterInfo.setParams(configParams);
+
+            mqSet.add(clusterInfo);
+        }
+        object.setMqSet(mqSet);
+        object.setTopicList(topicList);
+
+        return object;
+    }
+
+    // TODO need optimized
+    @Override
+    public String getAllConfig(String clusterName, String md5) {
+        DataProxyConfigResponse response = new DataProxyConfigResponse();
+        String configMd5 = proxyRepository.getProxyMd5(clusterName);
+        if (configMd5 == null) {
+            response.setResult(false);
+            response.setErrCode(DataProxyConfigResponse.REQ_PARAMS_ERROR);
+            return GSON.toJson(response);
+        }
+
+        // same config
+        if (configMd5.equals(md5)) {
+            response.setResult(true);
+            response.setErrCode(DataProxyConfigResponse.NOUPDATE);
+            response.setMd5(configMd5);
+            response.setData(new DataProxyCluster());
+            return GSON.toJson(response);
+        }
+
+        String configJson = proxyRepository.getProxyConfigJson(clusterName);
+        if (configJson == null) {
+            response.setResult(false);
+            response.setErrCode(DataProxyConfigResponse.REQ_PARAMS_ERROR);
+            return GSON.toJson(response);
+        }
+
+        return configJson;
+    }
+
 }
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/ThirdPartyClusterServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/ThirdPartyClusterServiceImpl.java
deleted file mode 100644
index 7061b3bf5..000000000
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/core/impl/ThirdPartyClusterServiceImpl.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * 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
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.inlong.manager.service.core.impl;
-
-import com.github.pagehelper.Page;
-import com.github.pagehelper.PageHelper;
-import com.github.pagehelper.PageInfo;
-import com.google.gson.Gson;
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.inlong.common.pojo.dataproxy.DataProxyConfig;
-import org.apache.inlong.common.pojo.dataproxy.ThirdPartyClusterDTO;
-import org.apache.inlong.common.pojo.dataproxy.ThirdPartyClusterInfo;
-import org.apache.inlong.manager.common.beans.ClusterBean;
-import org.apache.inlong.manager.common.enums.ErrorCodeEnum;
-import org.apache.inlong.manager.common.enums.GlobalConstants;
-import org.apache.inlong.manager.common.enums.GroupStatus;
-import org.apache.inlong.manager.common.enums.MQType;
-import org.apache.inlong.manager.common.exceptions.BusinessException;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterPageRequest;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterRequest;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterResponse;
-import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyResponse;
-import org.apache.inlong.manager.common.settings.InlongGroupSettings;
-import org.apache.inlong.manager.common.util.CommonBeanUtils;
-import org.apache.inlong.manager.common.util.InlongStringUtils;
-import org.apache.inlong.manager.common.util.Preconditions;
-import org.apache.inlong.manager.dao.entity.InlongGroupEntity;
-import org.apache.inlong.manager.dao.entity.InlongStreamEntity;
-import org.apache.inlong.manager.dao.entity.ThirdPartyClusterEntity;
-import org.apache.inlong.manager.dao.mapper.InlongGroupEntityMapper;
-import org.apache.inlong.manager.dao.mapper.InlongStreamEntityMapper;
-import org.apache.inlong.manager.dao.mapper.ThirdPartyClusterEntityMapper;
-import org.apache.inlong.manager.service.core.ThirdPartyClusterService;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Implementation of cluster service
- */
-@Deprecated
-@Service
-public class ThirdPartyClusterServiceImpl implements ThirdPartyClusterService {
-
-    public static final String SCHEMA_M0_DAY = "m0_day";
-    private static final Logger LOGGER = 
LoggerFactory.getLogger(ThirdPartyClusterServiceImpl.class);
-    private static final Gson GSON = new Gson();
-    private static final String URL_SPLITTER = ",";
-    private static final String HOST_SPLITTER = ":";
-    private static final String CLUSTER_TUBE = "TUBE";
-    private static final String CLUSTER_PULSAR = "PULSAR";
-    private static final String CLUSTER_TDMQ_PULSAR = "TDMQ_PULSAR";
-
-    @Autowired
-    private ClusterBean clusterBean;
-    @Autowired
-    private InlongGroupEntityMapper groupMapper;
-    @Autowired
-    private InlongStreamEntityMapper streamMapper;
-    @Autowired
-    private ThirdPartyClusterEntityMapper thirdPartyClusterMapper;
-
-    @Override
-    @Transactional(rollbackFor = Throwable.class)
-    public Integer save(ClusterRequest request, String operator) {
-        LOGGER.info("begin to insert a cluster info cluster={}", request);
-        Preconditions.checkNotNull(request, "cluster is empty");
-        ThirdPartyClusterEntity exist = 
thirdPartyClusterMapper.selectByName(request.getName());
-        Preconditions.checkTrue(exist == null, "cluster name already exist");
-
-        ThirdPartyClusterEntity entity = 
CommonBeanUtils.copyProperties(request, ThirdPartyClusterEntity::new);
-        if (operator != null) {
-            entity.setCreator(operator);
-        }
-        Preconditions.checkNotNull(entity.getCreator(), "cluster creator is 
empty");
-        entity.setCreateTime(new Date());
-        entity.setIsDeleted(GlobalConstants.UN_DELETED);
-        thirdPartyClusterMapper.insert(entity);
-        LOGGER.info("success to add a cluster");
-        return entity.getId();
-    }
-
-    @Override
-    public ClusterResponse get(Integer id) {
-        LOGGER.info("begin to get cluster by id={}", id);
-        Preconditions.checkNotNull(id, "cluster id is empty");
-        ThirdPartyClusterEntity entity = 
thirdPartyClusterMapper.selectByPrimaryKey(id);
-        if (entity == null) {
-            LOGGER.error("cluster not found by id={}", id);
-            throw new BusinessException(ErrorCodeEnum.CLUSTER_NOT_FOUND);
-        }
-        ClusterResponse clusterResponse = 
CommonBeanUtils.copyProperties(entity, ClusterResponse::new);
-        LOGGER.info("success to get cluster info");
-        return clusterResponse;
-    }
-
-    @Override
-    public PageInfo<ClusterResponse> list(ClusterPageRequest request) {
-        PageHelper.startPage(request.getPageNum(), request.getPageSize());
-        Page<ThirdPartyClusterEntity> entityPage = 
(Page<ThirdPartyClusterEntity>)
-                thirdPartyClusterMapper.selectByCondition(request);
-        List<ClusterResponse> clusterList = 
CommonBeanUtils.copyListProperties(entityPage,
-                ClusterResponse::new);
-        PageInfo<ClusterResponse> page = new PageInfo<>(clusterList);
-        page.setTotal(entityPage.getTotal());
-
-        LOGGER.debug("success to list cluster by {}", request);
-        return page;
-    }
-
-    @Override
-    public List<String> listClusterIpByType(String type) {
-        ClusterPageRequest request = new ClusterPageRequest();
-        request.setType(type);
-        List<ThirdPartyClusterEntity> entityList = 
thirdPartyClusterMapper.selectByCondition(request);
-        List<String> ipList = new ArrayList<>(entityList.size());
-        for (ThirdPartyClusterEntity entity : entityList) {
-            ipList.add(entity.getIp());
-        }
-        return ipList;
-    }
-
-    @Override
-    @Transactional(rollbackFor = Throwable.class)
-    public Boolean update(ClusterRequest request, String operator) {
-        Preconditions.checkNotNull(request, "cluster is empty");
-        Integer id = request.getId();
-        Preconditions.checkNotNull(id, "cluster id is empty");
-        ThirdPartyClusterEntity entity = 
thirdPartyClusterMapper.selectByPrimaryKey(id);
-        if (entity == null) {
-            LOGGER.error("cluster not found by id={}", id);
-            throw new BusinessException(ErrorCodeEnum.CLUSTER_NOT_FOUND);
-        }
-        CommonBeanUtils.copyProperties(request, entity, true);
-        entity.setModifier(operator);
-        thirdPartyClusterMapper.updateByPrimaryKeySelective(entity);
-
-        LOGGER.info("success to update cluster={}", request);
-        return true;
-    }
-
-    @Override
-    @Transactional(rollbackFor = Throwable.class)
-    public Boolean delete(Integer id, String operator) {
-        Preconditions.checkNotNull(id, "cluster id is empty");
-        ThirdPartyClusterEntity entity = 
thirdPartyClusterMapper.selectByPrimaryKey(id);
-        if (entity == null) {
-            LOGGER.error("cluster not found by id={}", id);
-            throw new BusinessException(ErrorCodeEnum.CLUSTER_NOT_FOUND);
-        }
-        entity.setIsDeleted(id);
-        entity.setStatus(GlobalConstants.DELETED_STATUS);
-        entity.setModifier(operator);
-        thirdPartyClusterMapper.updateByPrimaryKey(entity);
-        LOGGER.info("success to delete cluster by id={}", id);
-        return true;
-    }
-
-    @Override
-    public List<DataProxyResponse> getIpList(String clusterName) {
-        LOGGER.debug("begin to list data proxy by clusterName={}", 
clusterName);
-        ThirdPartyClusterEntity entity;
-        if (StringUtils.isNotBlank(clusterName)) {
-            entity = thirdPartyClusterMapper.selectByName(clusterName);
-        } else {
-            List<ThirdPartyClusterEntity> list = 
thirdPartyClusterMapper.selectByType(
-                    InlongGroupSettings.CLUSTER_DATA_PROXY);
-            if (CollectionUtils.isEmpty(list)) {
-                LOGGER.warn("data proxy cluster not found by type=" + 
InlongGroupSettings.CLUSTER_DATA_PROXY);
-                return null;
-            }
-            entity = list.get(0);
-        }
-
-        if (entity == null || StringUtils.isBlank(entity.getIp())) {
-            LOGGER.warn("data proxy cluster not found by name={}", 
clusterName);
-            return null;
-        }
-        if (!InlongGroupSettings.CLUSTER_DATA_PROXY.equals(entity.getType())) {
-            LOGGER.warn("expected cluster type is DATA_PROXY, but found {}", 
entity.getType());
-            return null;
-        }
-
-        String ipStr = entity.getIp();
-        while (ipStr.startsWith(URL_SPLITTER) || ipStr.endsWith(URL_SPLITTER)
-                || ipStr.startsWith(HOST_SPLITTER) || 
ipStr.endsWith(HOST_SPLITTER)) {
-            ipStr = InlongStringUtils.trimFirstAndLastChar(ipStr, 
URL_SPLITTER);
-            ipStr = InlongStringUtils.trimFirstAndLastChar(ipStr, 
HOST_SPLITTER);
-        }
-
-        List<DataProxyResponse> responseList = new ArrayList<>();
-        Integer id = entity.getId();
-        Integer defaultPort = entity.getPort();
-        int index = ipStr.indexOf(URL_SPLITTER);
-        if (index <= 0) {
-            DataProxyResponse response = new DataProxyResponse();
-            response.setId(id);
-            setIpAndPort(ipStr, defaultPort, response);
-            responseList.add(response);
-        } else {
-            String[] urlArr = ipStr.split(URL_SPLITTER);
-            for (String url : urlArr) {
-                DataProxyResponse response = new DataProxyResponse();
-                response.setId(id);
-                setIpAndPort(url, defaultPort, response);
-                responseList.add(response);
-            }
-        }
-
-        LOGGER.debug("success to list data proxy cluster={}", responseList);
-        return responseList;
-    }
-
-    private void setIpAndPort(String url, Integer defaultPort, 
DataProxyResponse response) {
-        int idx = url.indexOf(HOST_SPLITTER);
-        if (idx <= 0) {
-            response.setIp(url);
-            response.setPort(defaultPort);
-        } else {
-            response.setIp(url.substring(0, idx));
-            response.setPort(Integer.valueOf(url.substring(idx + 1)));
-        }
-    }
-
-    @Override
-    public List<DataProxyConfig> getConfig() {
-        // get all configs with inlong group status of 130, that is, config 
successful
-        // TODO Optimize query conditions
-        List<InlongGroupEntity> groupEntityList = 
groupMapper.selectAll(GroupStatus.CONFIG_SUCCESSFUL.getCode());
-        List<DataProxyConfig> configList = new ArrayList<>();
-        for (InlongGroupEntity groupEntity : groupEntityList) {
-            String groupId = groupEntity.getInlongGroupId();
-            String bizResource = groupEntity.getMqResource();
-
-            DataProxyConfig config = new DataProxyConfig();
-            config.setM(SCHEMA_M0_DAY);
-            MQType mqType = MQType.forType(groupEntity.getMqType());
-            if (mqType == MQType.TUBE) {
-                config.setInlongGroupId(groupId);
-                config.setTopic(bizResource);
-            } else if (mqType == MQType.PULSAR || mqType == 
MQType.TDMQ_PULSAR) {
-                List<InlongStreamEntity> streamList = 
streamMapper.selectByGroupId(groupId);
-                for (InlongStreamEntity stream : streamList) {
-                    String topic = stream.getMqResource();
-                    String streamId = stream.getInlongStreamId();
-                    config.setInlongGroupId(groupId + "/" + streamId);
-                    config.setTopic("persistent://" + 
clusterBean.getDefaultTenant() + "/" + bizResource + "/" + topic);
-                }
-            }
-            configList.add(config);
-        }
-
-        return configList;
-    }
-
-    /**
-     * query data proxy config by cluster name, result includes pulsar/tube 
cluster configs and topic etc
-     */
-    @Override
-    public ThirdPartyClusterDTO getConfigV2(String clusterName) {
-        // TODO Optimize query conditions use dataProxyClusterId
-        ThirdPartyClusterDTO object = new ThirdPartyClusterDTO();
-        ThirdPartyClusterEntity clusterEntity = 
thirdPartyClusterMapper.selectByName(clusterName);
-        if (clusterEntity == null) {
-            LOGGER.warn("DataProxy cluster not found by name = " + clusterName 
+ ", please register it firstly.");
-            return object;
-        }
-        List<InlongGroupEntity> groupEntityList = 
groupMapper.selectAll(GroupStatus.CONFIG_SUCCESSFUL.getCode());
-        if (CollectionUtils.isEmpty(groupEntityList)) {
-            LOGGER.warn("not found any inlong group with success status for 
proxy cluster name = " + clusterName);
-            return object;
-        }
-
-        // third-party-cluster type
-        String mqType = "";
-        if (!groupEntityList.isEmpty()) {
-            mqType = groupEntityList.get(0).getMqType();
-        }
-
-        // Get topic list by group id
-        List<DataProxyConfig> topicList = new ArrayList<>();
-        for (InlongGroupEntity groupEntity : groupEntityList) {
-            final String groupId = groupEntity.getInlongGroupId();
-            final String mqResource = groupEntity.getMqResource();
-            MQType type = MQType.forType(mqType);
-            if (type == MQType.PULSAR || type == MQType.TDMQ_PULSAR) {
-                List<InlongStreamEntity> streamList = 
streamMapper.selectByGroupId(groupId);
-                for (InlongStreamEntity stream : streamList) {
-                    DataProxyConfig topicConfig = new DataProxyConfig();
-                    String streamId = stream.getInlongStreamId();
-                    String topic = stream.getMqResource();
-                    String tenant = clusterBean.getDefaultTenant();
-                    /*InlongGroupPulsarEntity pulsarEntity = 
pulsarEntityMapper.selectByGroupId(groupId);
-                    if (pulsarEntity != null && 
StringUtils.isNotEmpty(pulsarEntity.getTenant())) {
-                        tenant = pulsarEntity.getTenant();
-                    }*/
-                    topicConfig.setInlongGroupId(groupId + "/" + streamId);
-                    topicConfig.setTopic("persistent://" + tenant + "/" + 
mqResource + "/" + topic);
-                    topicList.add(topicConfig);
-                }
-            } else if (type == MQType.TUBE) {
-                DataProxyConfig topicConfig = new DataProxyConfig();
-                topicConfig.setInlongGroupId(groupId);
-                topicConfig.setTopic(mqResource);
-                topicList.add(topicConfig);
-            }
-        }
-
-        // construct pulsarSet info
-        List<ThirdPartyClusterInfo> mqSet = new ArrayList<>();
-        List<String> clusterType = Arrays.asList(CLUSTER_TUBE, CLUSTER_PULSAR,
-                CLUSTER_TDMQ_PULSAR);
-        List<ThirdPartyClusterEntity> clusterList = 
thirdPartyClusterMapper.selectMQCluster(
-                clusterEntity.getMqSetName(), clusterType);
-        for (ThirdPartyClusterEntity cluster : clusterList) {
-            ThirdPartyClusterInfo clusterInfo = new ThirdPartyClusterInfo();
-            clusterInfo.setUrl(cluster.getUrl());
-            clusterInfo.setToken(cluster.getToken());
-            Map<String, String> configParams = 
GSON.fromJson(cluster.getExtParams(), Map.class);
-            clusterInfo.setParams(configParams);
-
-            mqSet.add(clusterInfo);
-        }
-
-        object.setMqSet(mqSet);
-        object.setTopicList(topicList);
-
-        return object;
-    }
-
-}
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/repository/DataProxyConfigRepository.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/repository/DataProxyConfigRepository.java
index 0f5fadb4d..530f49cd5 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/repository/DataProxyConfigRepository.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/repository/DataProxyConfigRepository.java
@@ -223,8 +223,6 @@ public class DataProxyConfigRepository implements 
IRepository {
 
     /**
      * generateClusterJson
-     *
-     * @param newClusterSets
      */
     @SuppressWarnings("unchecked")
     private void generateClusterJson(Map<String, ProxyClusterObject> 
proxyClusterMap,
@@ -291,10 +289,6 @@ public class DataProxyConfigRepository implements 
IRepository {
 
     /**
      * isSubTag
-     *
-     * @param wholeTagMap
-     * @param subTagMap
-     * @return
      */
     private boolean isSubTag(Map<String, String> wholeTagMap, Map<String, 
String> subTagMap) {
         for (Entry<String, String> entry : subTagMap.entrySet()) {
@@ -308,9 +302,6 @@ public class DataProxyConfigRepository implements 
IRepository {
 
     /**
      * getProxyMd5
-     *
-     * @param clusterName
-     * @return
      */
     public String getProxyMd5(String clusterName) {
         return this.proxyMd5Map.get(clusterName);
@@ -318,9 +309,6 @@ public class DataProxyConfigRepository implements 
IRepository {
 
     /**
      * getProxyConfigJson
-     *
-     * @param clusterName
-     * @return
      */
     public String getProxyConfigJson(String clusterName) {
         return this.proxyConfigJson.get(clusterName);
diff --git 
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/InlongClusterServiceTest.java
 
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/InlongClusterServiceTest.java
index 5952fc801..f4c8abebe 100644
--- 
a/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/InlongClusterServiceTest.java
+++ 
b/inlong-manager/manager-service/src/test/java/org/apache/inlong/manager/service/core/impl/InlongClusterServiceTest.java
@@ -20,7 +20,6 @@ package org.apache.inlong.manager.service.core.impl;
 import com.github.pagehelper.PageInfo;
 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.ClusterRequest;
 import org.apache.inlong.manager.common.pojo.cluster.InlongClusterPageRequest;
 import org.apache.inlong.manager.common.pojo.cluster.InlongClusterRequest;
 import org.apache.inlong.manager.common.pojo.cluster.InlongClusterResponse;
@@ -28,7 +27,6 @@ import 
org.apache.inlong.manager.common.pojo.dataproxy.DataProxyResponse;
 import org.apache.inlong.manager.common.settings.InlongGroupSettings;
 import org.apache.inlong.manager.service.ServiceBaseTest;
 import org.apache.inlong.manager.service.core.InlongClusterService;
-import org.apache.inlong.manager.service.core.ThirdPartyClusterService;
 import org.junit.Assert;
 import org.junit.Test;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -40,22 +38,20 @@ import java.util.List;
  */
 public class InlongClusterServiceTest extends ServiceBaseTest {
 
+    private static final String CLUSTER_TAG = "default_cluster";
     private static final String CLUSTER_NAME = "test_data_proxy";
     private static final String CLUSTER_IP = "127.0.0.1";
     private static final Integer CLUSTER_PORT = 8088;
 
     @Autowired
-    private ThirdPartyClusterService clusterService;
+    private InlongClusterService clusterService;
 
-    @Autowired
-    private InlongClusterService inlongClusterService;
-
-    public Integer saveOpt(String clusterName, String type, String ip, Integer 
port) {
-        ClusterRequest request = new ClusterRequest();
+    public Integer saveOpt(String clusterName, String type, String url) {
+        InlongClusterRequest request = new InlongClusterRequest();
         request.setName(clusterName);
         request.setType(type);
-        request.setIp(ip);
-        request.setPort(port);
+        request.setClusterTag(CLUSTER_TAG);
+        request.setUrl(url);
         request.setInCharges(GLOBAL_OPERATOR);
         return clusterService.save(request, GLOBAL_OPERATOR);
     }
@@ -66,7 +62,7 @@ public class InlongClusterServiceTest extends ServiceBaseTest 
{
 
     @Test
     public void testSaveAndDelete() {
-        Integer id = this.saveOpt(CLUSTER_NAME, 
InlongGroupSettings.CLUSTER_DATA_PROXY, CLUSTER_IP, CLUSTER_PORT);
+        Integer id = this.saveOpt(CLUSTER_NAME, 
InlongGroupSettings.CLUSTER_DATA_PROXY, CLUSTER_IP);
         Assert.assertNotNull(id);
 
         Boolean success = this.deleteOpt(id);
@@ -79,14 +75,14 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         Integer p1 = 46800;
         Integer p2 = 46801;
         String url = "127.0.0.1:" + p1 + ",127.0.0.2";
-        Integer id = this.saveOpt(CLUSTER_NAME, 
InlongGroupSettings.CLUSTER_DATA_PROXY, url, p2);
+        Integer id = this.saveOpt(CLUSTER_NAME, 
InlongGroupSettings.CLUSTER_DATA_PROXY, url);
         Assert.assertNotNull(id);
 
         // Get the data proxy cluster ip list, the first port should is p1, 
second port is p2
-        List<DataProxyResponse> ipList = 
clusterService.getIpList(CLUSTER_NAME);
+        /* List<DataProxyResponse> ipList = 
clusterService.getIpList(CLUSTER_NAME);
         Assert.assertEquals(ipList.size(), 2);
         Assert.assertEquals(p1, ipList.get(0).getPort());
-        Assert.assertEquals(p2, ipList.get(1).getPort());
+        Assert.assertEquals(p2, ipList.get(1).getPort());*/
 
         this.deleteOpt(id);
     }
@@ -94,12 +90,12 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
     @Test
     public void testSaveAndGetDirtyDataProxy() {
         // Simulate saving and parsing dirty url without port, default port is 
p1
-        Integer p1 = 46801;
         String url = ":,,, :127.0 .0.1:,: ,,,";
-        Integer id = this.saveOpt(CLUSTER_NAME, 
InlongGroupSettings.CLUSTER_DATA_PROXY, url, p1);
+        Integer port = 46801;
+        Integer id = this.saveOpt(CLUSTER_NAME, 
InlongGroupSettings.CLUSTER_DATA_PROXY, url);
         List<DataProxyResponse> ipList = 
clusterService.getIpList(CLUSTER_NAME);
         // The result port is p1
-        Assert.assertEquals(p1, ipList.get(0).getPort());
+        // Assert.assertEquals(port, ipList.get(0).getPort());
 
         this.deleteOpt(id);
     }
@@ -114,7 +110,7 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         request.setClusterTag(clusterTag);
         request.setExtTag(extTag);
         request.setInCharges(GLOBAL_OPERATOR);
-        return inlongClusterService.save(request, GLOBAL_OPERATOR);
+        return clusterService.save(request, GLOBAL_OPERATOR);
     }
 
     /**
@@ -124,7 +120,7 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         InlongClusterPageRequest request = new InlongClusterPageRequest();
         request.setType(type);
         request.setClusterTag(clusterTag);
-        return inlongClusterService.list(request);
+        return clusterService.list(request);
     }
 
     /**
@@ -138,14 +134,14 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         request.setClusterTag(clusterTag);
         request.setExtTag(extTag);
         request.setInCharges(GLOBAL_OPERATOR);
-        return inlongClusterService.update(request, GLOBAL_OPERATOR);
+        return clusterService.update(request, GLOBAL_OPERATOR);
     }
 
     /**
      * delete cluster info by id.
      */
     public Boolean deleteCluster(Integer id) {
-        return inlongClusterService.delete(id, GLOBAL_OPERATOR);
+        return clusterService.delete(id, GLOBAL_OPERATOR);
     }
 
     /**
@@ -157,7 +153,7 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         request.setType(type);
         request.setIp(ip);
         request.setPort(port);
-        return inlongClusterService.saveNode(request, GLOBAL_OPERATOR);
+        return clusterService.saveNode(request, GLOBAL_OPERATOR);
     }
 
     /**
@@ -170,7 +166,7 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         request.setType(type);
         request.setIp(ip);
         request.setPort(port);
-        return inlongClusterService.updateNode(request, GLOBAL_OPERATOR);
+        return clusterService.updateNode(request, GLOBAL_OPERATOR);
     }
 
     /**
@@ -180,14 +176,14 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         InlongClusterPageRequest request = new InlongClusterPageRequest();
         request.setType(type);
         request.setKeyword(keyword);
-        return inlongClusterService.listNode(request);
+        return clusterService.listNode(request);
     }
 
     /**
      * delete cluster node info.
      */
     public Boolean deleteClusterNode(Integer id) {
-        return inlongClusterService.deleteNode(id, GLOBAL_OPERATOR);
+        return clusterService.deleteNode(id, GLOBAL_OPERATOR);
     }
 
     /**
@@ -221,7 +217,7 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         Assert.assertTrue(updateSuccess);
 
         // save cluster node
-        Integer parentId = 1;
+        Integer parentId = id;
         Integer nodeId = this.saveClusterNode(parentId, type, ip, port);
         Assert.assertNotNull(nodeId);
 
@@ -230,7 +226,7 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         Assert.assertEquals(listNode.getTotal(), 1);
 
         // update cluster node
-        Boolean updateNodeSuccess = this.updateClusterNode(id, parentId, 
typeUpdate, ipUpdate, portUpdate);
+        Boolean updateNodeSuccess = this.updateClusterNode(nodeId, parentId, 
typeUpdate, ipUpdate, portUpdate);
         Assert.assertTrue(updateNodeSuccess);
 
         // delete cluster node
@@ -261,7 +257,7 @@ public class InlongClusterServiceTest extends 
ServiceBaseTest {
         Assert.assertNotNull(nodeId2);
 
         // Get the data proxy cluster ip list, the first port should is p1, 
second port is p2
-        List<DataProxyResponse> ipList = 
inlongClusterService.getIpList(CLUSTER_NAME);
+        List<DataProxyResponse> ipList = 
clusterService.getIpList(CLUSTER_NAME);
         Assert.assertEquals(ipList.size(), 2);
         Assert.assertEquals(port1, ipList.get(0).getPort());
         Assert.assertEquals(port2, ipList.get(1).getPort());
diff --git 
a/inlong-manager/manager-test/src/main/resources/sql/apache_inlong_manager.sql 
b/inlong-manager/manager-test/src/main/resources/sql/apache_inlong_manager.sql
index b81b4c487..410a01962 100644
--- 
a/inlong-manager/manager-test/src/main/resources/sql/apache_inlong_manager.sql
+++ 
b/inlong-manager/manager-test/src/main/resources/sql/apache_inlong_manager.sql
@@ -136,32 +136,6 @@ CREATE TABLE IF NOT EXISTS `data_node`
     UNIQUE KEY `unique_data_node_index` (`name`, `type`, `is_deleted`)
 );
 
--- ----------------------------
--- Table structure for third_party_cluster
--- ----------------------------
-CREATE TABLE IF NOT EXISTS `third_party_cluster`
-(
-    `id`          int(11)      NOT NULL AUTO_INCREMENT COMMENT 'Incremental 
primary key',
-    `name`        varchar(128) NOT NULL COMMENT 'Cluster name',
-    `type`        varchar(32)  NOT NULL COMMENT 'Cluster type, including TUBE, 
PULSAR, etc.',
-    `ip`          text         NULL COMMENT 'Cluster IP, separated by commas, 
such as: 127.0.0.1:8080,host2:8081',
-    `port`        int(11)      NOT NULL COMMENT 'Cluster port',
-    `token`       varchar(512) COMMENT 'Cluster token',
-    `url`         varchar(512)      DEFAULT NULL COMMENT 'Cluster URL',
-    `is_backup`   tinyint(1)        DEFAULT '0' COMMENT 'Whether it is a 
backup cluster, 0: no, 1: yes',
-    `mq_set_name` varchar(128) NULL COMMENT 'MQ set name of this cluster',
-    `ext_params`  text              DEFAULT NULL COMMENT 'Extended params',
-    `in_charges`  varchar(512) NOT NULL COMMENT 'Name of responsible person, 
separated by commas',
-    `status`      int(4)            DEFAULT '1' COMMENT 'Cluster status',
-    `is_deleted`  int(11)           DEFAULT '0' COMMENT 'Whether to delete, 0: 
not deleted, > 0: deleted',
-    `creator`     varchar(64)  NOT NULL COMMENT 'Creator name',
-    `modifier`    varchar(64)       DEFAULT NULL COMMENT 'Modifier name',
-    `create_time` timestamp    NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Create 
time',
-    `modify_time` timestamp    NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE 
CURRENT_TIMESTAMP COMMENT 'Modify time',
-    PRIMARY KEY (`id`),
-    UNIQUE KEY `unique_cluster_name` (`name`, `is_deleted`)
-);
-
 -- ----------------------------
 -- Table structure for consumption
 -- ----------------------------
@@ -201,30 +175,6 @@ CREATE TABLE IF NOT EXISTS `consumption_pulsar`
     PRIMARY KEY (`id`)
 ) COMMENT ='Pulsar consumption table';
 
--- ----------------------------
--- Table structure for data_proxy_cluster
--- ----------------------------
-CREATE TABLE IF NOT EXISTS `data_proxy_cluster`
-(
-    `id`          int(11)      NOT NULL AUTO_INCREMENT COMMENT 'Incremental 
primary key',
-    `name`        varchar(128) NOT NULL COMMENT 'Cluster name',
-    `description` varchar(500)      DEFAULT NULL COMMENT 'Cluster description',
-    `address`     varchar(128) NOT NULL COMMENT 'Cluster address',
-    `port`        varchar(256)      DEFAULT '46801' COMMENT 'Access port 
number, multiple ports are separated by a comma',
-    `is_backup`   tinyint(1)        DEFAULT '0' COMMENT 'Whether it is a 
backup cluster, 0: no, 1: yes',
-    `mq_set_name` varchar(128) NULL COMMENT 'MQ set name of this cluster',
-    `ext_params`  text              DEFAULT NULL COMMENT 'Extended params',
-    `in_charges`  varchar(512)      DEFAULT NULL COMMENT 'Name of responsible 
person, separated by commas',
-    `status`      int(4)            DEFAULT '1' COMMENT 'Cluster status',
-    `is_deleted`  int(11)           DEFAULT '0' COMMENT 'Whether to delete, 0: 
not deleted, > 0: deleted',
-    `creator`     varchar(64)  NOT NULL COMMENT 'Creator name',
-    `modifier`    varchar(64)       DEFAULT NULL COMMENT 'Modifier name',
-    `create_time` timestamp    NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Create 
time',
-    `modify_time` timestamp    NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE 
CURRENT_TIMESTAMP COMMENT 'Modify time',
-    PRIMARY KEY (`id`),
-    UNIQUE KEY `unique_dp_cluster_name` (`name`, `is_deleted`)
-);
-
 -- ----------------------------
 -- Table structure for data_schema
 -- ----------------------------
diff --git a/inlong-manager/manager-web/sql/apache_inlong_manager.sql 
b/inlong-manager/manager-web/sql/apache_inlong_manager.sql
index 7ce7c5fed..3557194e4 100644
--- a/inlong-manager/manager-web/sql/apache_inlong_manager.sql
+++ b/inlong-manager/manager-web/sql/apache_inlong_manager.sql
@@ -147,33 +147,6 @@ CREATE TABLE IF NOT EXISTS `data_node`
 ) ENGINE = InnoDB
   DEFAULT CHARSET = utf8mb4 COMMENT ='Data node table';
 
--- ----------------------------
--- Table structure for third_party_cluster
--- ----------------------------
-CREATE TABLE IF NOT EXISTS `third_party_cluster`
-(
-    `id`          int(11)      NOT NULL AUTO_INCREMENT COMMENT 'Incremental 
primary key',
-    `name`        varchar(128) NOT NULL COMMENT 'Cluster name',
-    `type`        varchar(32)  NOT NULL COMMENT 'Cluster type, including TUBE, 
PULSAR, etc.',
-    `ip`          text         NULL COMMENT 'Cluster IP, separated by commas, 
such as: 127.0.0.1:8080,host2:8081',
-    `port`        int(11)      NULL COMMENT 'Cluster port',
-    `token`       varchar(512) COMMENT 'Cluster token',
-    `url`         varchar(512)      DEFAULT NULL COMMENT 'Cluster URL',
-    `is_backup`   tinyint(1)        DEFAULT '0' COMMENT 'Whether it is a 
backup cluster, 0: no, 1: yes',
-    `mq_set_name` varchar(128) NULL COMMENT 'MQ set name of this cluster',
-    `ext_params`  text              DEFAULT NULL COMMENT 'Extended params',
-    `in_charges`  varchar(512) NOT NULL COMMENT 'Name of responsible person, 
separated by commas',
-    `status`      int(4)            DEFAULT '1' COMMENT 'Cluster status',
-    `is_deleted`  int(11)           DEFAULT '0' COMMENT 'Whether to delete, 0: 
not deleted, > 0: deleted',
-    `creator`     varchar(64)  NOT NULL COMMENT 'Creator name',
-    `modifier`    varchar(64)       DEFAULT NULL COMMENT 'Modifier name',
-    `create_time` timestamp    NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Create 
time',
-    `modify_time` timestamp    NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE 
CURRENT_TIMESTAMP COMMENT 'Modify time',
-    PRIMARY KEY (`id`),
-    UNIQUE KEY `unique_cluster_name` (`name`, `is_deleted`)
-) ENGINE = InnoDB
-  DEFAULT CHARSET = utf8mb4 COMMENT ='Cluster Information Table';
-
 -- ----------------------------
 -- Table structure for consumption
 -- ----------------------------
@@ -215,31 +188,6 @@ CREATE TABLE IF NOT EXISTS `consumption_pulsar`
 ) ENGINE = InnoDB
   DEFAULT CHARSET = utf8mb4 COMMENT ='Pulsar consumption table';
 
--- ----------------------------
--- Table structure for data_proxy_cluster
--- ----------------------------
-CREATE TABLE IF NOT EXISTS `data_proxy_cluster`
-(
-    `id`          int(11)      NOT NULL AUTO_INCREMENT COMMENT 'Incremental 
primary key',
-    `name`        varchar(128) NOT NULL COMMENT 'Cluster name',
-    `description` varchar(500)      DEFAULT NULL COMMENT 'Cluster description',
-    `address`     varchar(128) NOT NULL COMMENT 'Cluster address',
-    `port`        varchar(256)      DEFAULT '46801' COMMENT 'Access port 
number, multiple ports are separated by a comma',
-    `is_backup`   tinyint(1)        DEFAULT '0' COMMENT 'Whether it is a 
backup cluster, 0: no, 1: yes',
-    `mq_set_name` varchar(128) NULL COMMENT 'MQ set name of this cluster',
-    `ext_params`  text              DEFAULT NULL COMMENT 'Extended params',
-    `in_charges`  varchar(512)      DEFAULT NULL COMMENT 'Name of responsible 
person, separated by commas',
-    `status`      int(4)            DEFAULT '1' COMMENT 'Cluster status',
-    `is_deleted`  int(11)           DEFAULT '0' COMMENT 'Whether to delete, 0: 
not deleted, > 0: deleted',
-    `creator`     varchar(64)  NOT NULL COMMENT 'Creator name',
-    `modifier`    varchar(64)       DEFAULT NULL COMMENT 'Modifier name',
-    `create_time` timestamp    NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Create 
time',
-    `modify_time` timestamp    NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE 
CURRENT_TIMESTAMP COMMENT 'Modify time',
-    PRIMARY KEY (`id`),
-    UNIQUE KEY `unique_dp_cluster_name` (`name`, `is_deleted`)
-) ENGINE = InnoDB
-  DEFAULT CHARSET = utf8mb4 COMMENT ='DataProxy cluster table';
-
 -- ----------------------------
 -- Table structure for data_schema
 -- ----------------------------
diff --git 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
index 6c92adab1..4f71ac115 100644
--- 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
+++ 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/InlongClusterController.java
@@ -125,7 +125,7 @@ public class InlongClusterController {
     @RequestMapping(value = "/node/delete/{id}", method = RequestMethod.DELETE)
     @ApiOperation(value = "Delete cluster node")
     @OperationLog(operation = OperationType.DELETE)
-    @ApiImplicitParam(name = "id", value = "DataProxy cluster id", 
dataTypeClass = Integer.class, required = true)
+    @ApiImplicitParam(name = "id", value = "Cluster node id", dataTypeClass = 
Integer.class, required = true)
     public Response<Boolean> deleteNode(@PathVariable Integer id) {
         return Response.success(clusterService.deleteNode(id, 
LoginUserUtils.getLoginUserDetail().getUserName()));
     }
diff --git 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/AgentController.java
 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/AgentController.java
index f1a7fd494..3552441fd 100644
--- 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/AgentController.java
+++ 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/AgentController.java
@@ -24,7 +24,7 @@ import org.apache.inlong.common.pojo.agent.TaskResult;
 import org.apache.inlong.common.pojo.agent.TaskSnapshotRequest;
 import org.apache.inlong.manager.common.beans.Response;
 import org.apache.inlong.manager.service.core.AgentService;
-import org.apache.inlong.manager.service.core.ThirdPartyClusterService;
+import org.apache.inlong.manager.service.core.InlongClusterService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -37,28 +37,31 @@ import java.util.List;
  * Agent controller.
  */
 @RestController
-@RequestMapping("/openapi/agent")
-@Api(tags = "Agent Config")
+@RequestMapping("/openapi")
+@Api(tags = "Open-Agent-Config")
 public class AgentController {
 
     @Autowired
     private AgentService agentService;
     @Autowired
-    private ThirdPartyClusterService thirdPartyClusterService;
+    private InlongClusterService clusterService;
 
-    @PostMapping("/getManagerIpList")
+    /**
+     * Currently not used.
+     */
+    @PostMapping("/agent/getManagerIpList")
     @ApiOperation(value = "Get inlong manager ip list")
     public Response<List<String>> getInLongManagerIp() {
-        return 
Response.success(thirdPartyClusterService.listClusterIpByType("inlong-openapi"));
+        return 
Response.success(clusterService.listNodeIpByType("inlong-openapi"));
     }
 
-    @PostMapping("/reportSnapshot")
+    @PostMapping("/agent/reportSnapshot")
     @ApiOperation(value = "Report source task snapshot")
     public Response<Boolean> reportSnapshot(@RequestBody TaskSnapshotRequest 
request) {
         return Response.success(agentService.reportSnapshot(request));
     }
 
-    @PostMapping("/reportAndGetTask")
+    @PostMapping("/agent/reportAndGetTask")
     @ApiOperation(value = "Report task result and get next tasks")
     public Response<TaskResult> reportAndGetTask(@RequestBody TaskRequest 
request) {
         agentService.report(request);
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 ef0a93021..5fef6d863 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,12 +17,15 @@
 
 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.inlong.common.pojo.dataproxy.DataProxyConfig;
 import org.apache.inlong.common.pojo.dataproxy.ThirdPartyClusterDTO;
 import org.apache.inlong.manager.common.beans.Response;
 import org.apache.inlong.manager.common.pojo.dataproxy.DataProxyResponse;
-import org.apache.inlong.manager.service.core.DataProxyClusterService;
-import org.apache.inlong.manager.service.core.ThirdPartyClusterService;
+import org.apache.inlong.manager.service.core.InlongClusterService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -32,49 +35,52 @@ import 
org.springframework.web.bind.annotation.RestController;
 
 import java.util.List;
 
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-
 /**
  * Data proxy controller.
  */
 @RestController
-@RequestMapping("/openapi/dataproxy")
-@Api(tags = "DataProxy-Config")
+@RequestMapping("/openapi")
+@Api(tags = "Open-DataProxy-Config")
 public class DataProxyController {
 
     @Autowired
-    private DataProxyClusterService dataProxyClusterService;
-    @Autowired
-    private ThirdPartyClusterService thirdPartyClusterService;
+    private InlongClusterService clusterService;
 
-    @RequestMapping(value = "/getIpList", method = {RequestMethod.GET, 
RequestMethod.POST})
+    /**
+     * Support GET and POST methods,
+     * POST is used for DataProxy requests,
+     * GET is used for quick lookup of IP lists (e.g. via browser requests).
+     */
+    @RequestMapping(value = "/dataproxy/getIpList", method = 
{RequestMethod.GET, RequestMethod.POST})
     @ApiOperation(value = "Get data proxy ip list by cluster name")
     public Response<List<DataProxyResponse>> getIpList(@RequestParam(required 
= false) String clusterName) {
-        return 
Response.success(thirdPartyClusterService.getIpList(clusterName));
+        return Response.success(clusterService.getIpList(clusterName));
     }
 
-    @GetMapping("/getConfig")
+    @GetMapping("/dataproxy/getConfig")
     @ApiOperation(value = "Get data proxy topic list")
     public Response<List<DataProxyConfig>> getConfig() {
-        return Response.success(thirdPartyClusterService.getConfig());
+        return Response.success(clusterService.getConfig());
     }
 
-    @GetMapping("/getConfig_v2")
+    @GetMapping("/dataproxy/getConfig_v2")
     @ApiOperation(value = "Get data proxy list - including topic")
     public Response<ThirdPartyClusterDTO> 
getConfigV2(@RequestParam("clusterName") String clusterName) {
-        ThirdPartyClusterDTO dto = 
thirdPartyClusterService.getConfigV2(clusterName);
+        ThirdPartyClusterDTO dto = clusterService.getConfigV2(clusterName);
         if (dto.getMqSet().isEmpty() || dto.getTopicList().isEmpty()) {
             return Response.fail("failed to get mq config or topics");
         }
         return Response.success(dto);
     }
 
-    @GetMapping("/getAllConfig")
+    @GetMapping("/dataproxy/getAllConfig")
     @ApiOperation(value = "Get all proxy config")
-    public String getAllConfig(@RequestParam("clusterName") String clusterName,
-            @RequestParam(value = "md5", required = false) String md5) {
-        return dataProxyClusterService.getAllConfig(clusterName, md5);
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "clusterName", dataTypeClass = 
String.class, required = true),
+            @ApiImplicitParam(name = "md5", dataTypeClass = String.class, 
required = true)
+    })
+    public String getAllConfig(@RequestParam String clusterName, 
@RequestParam(required = false) String md5) {
+        return clusterService.getAllConfig(clusterName, md5);
     }
 
 }
diff --git 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenClusterController.java
 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenClusterController.java
index 527bb40ea..85e42aa09 100644
--- 
a/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenClusterController.java
+++ 
b/inlong-manager/manager-web/src/main/java/org/apache/inlong/manager/web/controller/openapi/OpenClusterController.java
@@ -23,10 +23,10 @@ import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
 import org.apache.inlong.manager.common.beans.Response;
 import org.apache.inlong.manager.common.enums.OperationType;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterPageRequest;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterRequest;
-import org.apache.inlong.manager.common.pojo.cluster.ClusterResponse;
-import org.apache.inlong.manager.service.core.ThirdPartyClusterService;
+import org.apache.inlong.manager.common.pojo.cluster.InlongClusterPageRequest;
+import org.apache.inlong.manager.common.pojo.cluster.InlongClusterRequest;
+import org.apache.inlong.manager.common.pojo.cluster.InlongClusterResponse;
+import org.apache.inlong.manager.service.core.InlongClusterService;
 import org.apache.inlong.manager.service.core.operationlog.OperationLog;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.DeleteMapping;
@@ -46,33 +46,33 @@ import 
org.springframework.web.bind.annotation.RestController;
 public class OpenClusterController {
 
     @Autowired
-    private ThirdPartyClusterService thirdPartyClusterService;
+    private InlongClusterService clusterService;
 
     @PostMapping(value = "/save")
     @ApiOperation(value = "Save cluster info")
     @OperationLog(operation = OperationType.CREATE)
-    public Response<Integer> save(@RequestBody ClusterRequest request) {
-        return Response.success(thirdPartyClusterService.save(request, null));
+    public Response<Integer> save(@RequestBody InlongClusterRequest request) {
+        return Response.success(clusterService.save(request, null));
     }
 
     @GetMapping(value = "/get/{id}")
     @ApiOperation(value = "Get cluster by id")
     @ApiImplicitParam(name = "id", value = "common cluster ID", dataTypeClass 
= Integer.class, required = true)
-    public Response<ClusterResponse> get(@PathVariable Integer id) {
-        return Response.success(thirdPartyClusterService.get(id));
+    public Response<InlongClusterResponse> get(@PathVariable Integer id) {
+        return Response.success(clusterService.get(id));
     }
 
     @PostMapping(value = "/list")
     @ApiOperation(value = "Get clusters by paginating")
-    public Response<PageInfo<ClusterResponse>> list(@RequestBody 
ClusterPageRequest request) {
-        return Response.success(thirdPartyClusterService.list(request));
+    public Response<PageInfo<InlongClusterResponse>> list(@RequestBody 
InlongClusterPageRequest request) {
+        return Response.success(clusterService.list(request));
     }
 
     @PostMapping(value = "/update")
     @OperationLog(operation = OperationType.UPDATE)
     @ApiOperation(value = "Update cluster info")
-    public Response<Boolean> update(@RequestBody ClusterRequest request) {
-        return Response.success(thirdPartyClusterService.update(request, 
null));
+    public Response<Boolean> update(@RequestBody InlongClusterRequest request) 
{
+        return Response.success(clusterService.update(request, null));
     }
 
     @DeleteMapping(value = "/delete/{id}")
@@ -80,7 +80,7 @@ public class OpenClusterController {
     @OperationLog(operation = OperationType.DELETE)
     @ApiImplicitParam(name = "id", value = "Cluster ID", dataTypeClass = 
Integer.class, required = true)
     public Response<Boolean> delete(@PathVariable Integer id) {
-        return Response.success(thirdPartyClusterService.delete(id, null));
+        return Response.success(clusterService.delete(id, null));
     }
 
 }

Reply via email to